MultivariatePowerSeries
Truncate
truncate a power series or univariate polynomial over power series or Puiseux series
Calling Sequence
Parameters
Description
Examples
References
Compatibility
Truncate(p, d)
Truncate(u, d)
Truncate(s, d, mode)
p
-
power series generated by this package
u
univariate polynomial over power series or over Puiseux series generated by this package
s
Puiseux series generated by this package
d
(optional) non-negative integer
mode
(optional) the literal names powerseries or absolute
The command Truncate(p, d) returns the sum of all homogeneous parts of p of degree at most d. In other words, Truncate(p, d) returns the natural image of the power series p modulo the d+1th power of the maximal ideal of the ring of power series.
A Puiseux series is a power series in rational powers of the variables. More precisely:
Let X≔x1,…,xp and U≔u1,…,um be ordered lists of variables.
Let R≔r1,…,rm be a list of m grevlex-positive p-dimensional rational vectors.
Let e≔e1,…,ep be a point in ℚp.
Let g⁡U≔∑n=0∞gn⁡U be a multivariate power series in U with homogeneous components gn⁡U.
For any v=v1,…,vq in ℚq and any list Y=y1,…,yq, we write Yv for y1v1⁢…⁢yqvq. Moreover, we write XR for the list Xr1,…,Xrm of m products of powers of the variables in X. Then P≔Xe⁢g⁡XR is a Puiseux series, and every Puiseux series can be written in this way. This can be understood as evaluating g⁡U at ui=Xri and then multiplying the result by Xe.
We call g the internal power series of the Puiseux series P; X the variable order of P; U the variable order of g; and R the rays of P. The rays generate the cone containing the support of P, meaning the set of exponent vectors of X that occur in P with a nonzero coefficient, as in the paper by Monforte and Kauers (see References). The vertex of this cone is e.
The command Truncate(s, d, mode) truncates the power series used to define the Puiseux series s. Then, it applies the change of variables given by the rays R. Finally, it multiplies the result by the monomial given by E. By default mode is equal to powerseries. In this mode, the returned terms are not necessarily of degree less or equal than d. Instead, the terms of the internal power series have degree at most d.
If the option mode=absolute is specified, then Truncate(s, d, mode=absolute) returns all the terms of s such that the sum of the absolute value of their exponents is less or equal than d. Note that this process may be very slow depending of the Puiseux series s.
If d is greater than the current precision of p, then the necessary extra terms are computed.
If d is not specified, all currently computed terms are used and no extra ones are computed. In other words, the default value of d is the precision of p.
The command Truncate(u, d) returns the polynomial obtained from u by replacing each coefficient p with the sum of the homogeneous parts of p of degree at most d. In other words, each coefficient is replaced by its image modulo the d+1th power of the maximal ideal of the ring of power series. If the coefficients of u are Puiseux series, then we truncate these coefficients in the way described above.
If d is not specified, the precision of each coefficient is used. If the coefficients are currently known to different precisions, they will consequently be truncated at different degrees.
When using the MultivariatePowerSeries package, do not assign anything to the variables occurring in the power series, Puiseux series, and univariate polynomials over these series. If you do, you may see invalid results.
with⁡MultivariatePowerSeries:
We define the geometric power series in the variables x and y.
a≔GeometricSeries⁡x,y
a≔PowⅇrSⅇrⅈⅇs of 11−x−y : 1+x+y+…
It is initially computed only to low precision.
Truncate⁡a
1+x+y
If we update its precision, then the Truncate command returns more terms.
UpdatePrecision⁡a,3
PowⅇrSⅇrⅈⅇs of 11−x−y : 1+x+y+x2+2⁢x⁢y+y2+x3+3⁢x2⁢y+3⁢x⁢y2+y3+…
x3+3⁢x2⁢y+3⁢x⁢y2+y3+x2+2⁢x⁢y+y2+x+y+1
We can get lower precision by specifying the truncation degree.
Truncate⁡a,2
x2+2⁢x⁢y+y2+x+y+1
We define a univariate polynomial over power series involving a.
f≔UnivariatePolynomialOverPowerSeries⁡GeometricSeries⁡x,GeometricSeries⁡y,a,z
f≔UnⅈvarⅈatⅇPolynomⅈalOvⅇrPowⅇrSⅇrⅈⅇs: 1+x+…+1+y+…⁢z+1+x+y+x2+2⁢x⁢y+y2+x3+3⁢x2⁢y+3⁢x⁢y2+y3+…⁢z2
The constant and linear coefficients of z are known to a different precision than the quadratic coefficient. By default, the Truncate command returns all known coefficients regardless of degree.
Truncate⁡f
x3+3⁢x2⁢y+3⁢x⁢y2+y3+x2+2⁢x⁢y+y2+x+y+1⁢z2+1+y⁢z+1+x
If we specify the truncation degree as 2, then more terms of the constant and linear coefficient are computed and some terms of the quadratic coefficient are omitted.
Truncate⁡f,2
x2+2⁢x⁢y+y2+x+y+1⁢z2+y2+y+1⁢z+x2+x+1
Now, let's create a Puiseux series using a as a base.
s≔PuiseuxSeries⁡a,x=u12⁢v35,y=u⁢v−15,u=2,v=12
s≔PuⅈsⅇuxSⅇrⅈⅇs of u2⁢v1−u⁢v35−uv15 : u2⁢v+u52⁢v1110+u3⁢v310+u3⁢v1710+2⁢u72⁢v910+u4⁢v110+u72⁢v2310+3⁢u4⁢v32+3⁢u92⁢v710+u5v110+…
We truncate s.
Truncate⁡s
u2⁢v⁢u32⁢v95+3⁢u2⁢v+3⁢u52⁢v15+u3v35+u⁢v65+2⁢u32⁢v25+u2v25+u⁢v35+uv15+1
Note that to get the same answer, we can Truncate a, apply the change of variables [x=u^(1/2)v^(3/5), y=uv^(-1/5)], and then multiply by u2⁢v.
eval⁡Truncate⁡a,x=u12⁢v35,y=u⁢v−15⁢u2⁢v12
Finally, we truncate s using mode=absolute.
Truncate⁡s,5,mode=absolute
u3⁢v1710+2⁢u72⁢v910+u4⁢v110+u52⁢v1110+u3⁢v310+u2⁢v
Finally, we create a univariate polynomial over power series from a list of Puiseux series.
h≔UnivariatePolynomialOverPuiseuxSeries⁡PuiseuxSeries⁡1,PuiseuxSeries⁡0,PuiseuxSeries⁡x,x=x13,PuiseuxSeries⁡y,y=y12,PuiseuxSeries⁡x+y1+x+y,x=x⁢y12,y=x⁢y−1,z
h≔UnⅈvarⅈatⅇPolynomⅈalOvⅇrPuⅈsⅇuxSⅇrⅈⅇs: 1+0⁢z+x13⁢z2+y⁢z3+0+…⁢z4
We truncate -h.
Truncate⁡h,5
1+x5⁢y52+5⁢x5⁢y+10⁢x5y+10⁢x5y2+5⁢x5y72+x5y5−x4⁢y2−4⁢x4⁢y−6⁢x4y−4⁢x4y52−x4y4+x3⁢y32+3⁢x3+3⁢x3y32+x3y3−x2⁢y−2⁢x2y−x2y2+x⁢y+xy⁢z4+y⁢z3+x13⁢z2
Monforte, A.A., & Kauers, M. "Formal Laurent series in several variables." Expositiones Mathematicae. Vol. 31 No. 4 (2013): 350-367.
The MultivariatePowerSeries[Truncate] command was introduced in Maple 2021.
For more information on Maple 2021 changes, see Updates in Maple 2021.
The MultivariatePowerSeries[Truncate] command was updated in Maple 2023.
The s parameter was introduced in Maple 2023.
The mode option was introduced in Maple 2023.
For more information on Maple 2023 changes, see Updates in Maple 2023.
See Also
GeometricSeries
HomogeneousPart
PowerSeries
Precision
PuiseuxSeries
UnivariatePolynomialOverPowerSeries
UpdatePrecision
Download Help Document