Truncate - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


MultivariatePowerSeries

  

Truncate

  

truncate a power series or univariate polynomial over power series or Puiseux series

 

Calling Sequence

Parameters

Description

Examples

References

Compatibility

Calling Sequence

Truncate(p, d)

Truncate(u, d)

Truncate(s, d, mode)

Parameters

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

Description

• 

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 Xx1,,xp and Uu1,,um be ordered lists of variables.

– 

Let Rr1,,rm be a list of m grevlex-positive p-dimensional rational vectors.

– 

Let ee1,,ep be a point in p.

– 

Let gUn=0gnU be a multivariate power series in U with homogeneous components gnU.

  

For any v=v1,,vq in q and any list Y=y1,,yq, we write Yv for y1v1yqvq. Moreover, we write XR for the list Xr1,,Xrm of m products of powers of the variables in X. Then PXegXR is a Puiseux series, and every Puiseux series can be written in this way. This can be understood as evaluating gU 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.

Examples

withMultivariatePowerSeries:

We define the geometric power series in the variables x and y.

aGeometricSeriesx,y

aPowⅇrSⅇrⅈⅇs of 11xy : 1+x+y+

(1)

It is initially computed only to low precision.

Truncatea

1+x+y

(2)

If we update its precision, then the Truncate command returns more terms.

UpdatePrecisiona,3

PowⅇrSⅇrⅈⅇs of 11xy : 1+x+y+x2+2xy+y2+x3+3x2y+3xy2+y3+

(3)

Truncatea

x3+3x2y+3xy2+y3+x2+2xy+y2+x+y+1

(4)

We can get lower precision by specifying the truncation degree.

Truncatea,2

x2+2xy+y2+x+y+1

(5)

We define a univariate polynomial over power series involving a.

fUnivariatePolynomialOverPowerSeriesGeometricSeriesx,GeometricSeriesy,a,z

fUnⅈvarⅈatⅇPolynomⅈalOvⅇrPowⅇrSⅇrⅈⅇs: 1+x++1+y+z+1+x+y+x2+2xy+y2+x3+3x2y+3xy2+y3+z2

(6)

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.

Truncatef

x3+3x2y+3xy2+y3+x2+2xy+y2+x+y+1z2+1+yz+1+x

(7)

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.

Truncatef,2

x2+2xy+y2+x+y+1z2+y2+y+1z+x2+x+1

(8)

Now, let's create a Puiseux series using a as a base.

sPuiseuxSeriesa,x=u12v35,y=uv15,u=2,v=12

sPuⅈsⅇuxSⅇrⅈⅇs of u2v1uv35uv15 : u2v+u52v1110+u3v310+u3v1710+2u72v910+u4v110+u72v2310+3u4v32+3u92v710+u5v110+

(9)

We truncate s.

Truncates

u2vu32v95+3u2v+3u52v15+u3v35+uv65+2u32v25+u2v25+uv35+uv15+1

(10)

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 u2v.

evalTruncatea,x=u12v35,y=uv15u2v12

u2vu32v95+3u2v+3u52v15+u3v35+uv65+2u32v25+u2v25+uv35+uv15+1

(11)

Finally, we truncate s using mode=absolute.

Truncates,5,mode=absolute

u3v1710+2u72v910+u4v110+u52v1110+u3v310+u2v

(12)

Finally, we create a univariate polynomial over power series from a list of Puiseux series.

hUnivariatePolynomialOverPuiseuxSeriesPuiseuxSeries1,PuiseuxSeries0,PuiseuxSeriesx,x=x13,PuiseuxSeriesy,y=y12,PuiseuxSeriesx+y1+x+y,x=xy12,y=xy1,z

hUnⅈvarⅈatⅇPolynomⅈalOvⅇrPuⅈsⅇuxSⅇrⅈⅇs: 1+0z+x13z2+yz3+0+z4

(13)

We truncate -h.

Truncateh,5

1+x5y52+5x5y+10x5y+10x5y2+5x5y72+x5y5x4y24x4y6x4y4x4y52x4y4+x3y32+3x3+3x3y32+x3y3x2y2x2yx2y2+xy+xyz4+yz3+x13z2

(14)

References

  

Monforte, A.A., & Kauers, M. "Formal Laurent series in several variables." Expositiones Mathematicae. Vol. 31 No. 4 (2013): 350-367.

Compatibility

• 

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