MultivariatePowerSeries
UnivariatePolynomialOverPowerSeries
create a univariate polynomial over power series or Puiseux series
UnivariatePolynomialOverPuiseuxSeries
Calling Sequence
Parameters
Description
Examples
Compatibility
UnivariatePolynomialOverPowerSeries(lp, v)
UnivariatePolynomialOverPuiseuxSeries(lp, v)
UnivariatePolynomialOverPowerSeries(p, v)
UnivariatePolynomialOverPuiseuxSeries(p, v)
UnivariatePolynomialOverPowerSeries(r, v)
UnivariatePolynomialOverPuiseuxSeries(r, v)
UnivariatePolynomialOverPowerSeries(ps, v)
UnivariatePolynomialOverPuiseuxSeries(ps, v)
UnivariatePolynomialOverPowerSeries(u)
UnivariatePolynomialOverPuiseuxSeries(u)
UnivariatePolynomialOverPowerSeries(u, v)
UnivariatePolynomialOverPuiseuxSeries(u, v)
lp
-
list, Array, or Vector of power series or Puiseux series generated by this package
v
variable
p
polynomial
r
rational function where v does not occur in the denominator
ps
power series generated by this package
u
univariate polynomial over power series generated by this package
The calling sequence UnivariatePolynomialOverPowerSeries(lp, v) creates a univariate polynomial over power series with main variable v and with coefficients that are power series or Puiseux series from lp. The degree of the resulting polynomial is equal to the length of lp minus one. The coefficient of v^(i-1) is the i-th element of lp. In particular, the first element of lp is the constant coefficient. The main variable, v, cannot occur in any of the power series in lp.
The calling sequences UnivariatePolynomialOverPowerSeries(p, v) and UnivariatePolynomialOverPowerSeries(r, v) create univariate polynomials with power series or Puiseux series coefficients. The former returns the same result as UnivariatePolynomialOverPowerSeries(lp, v) where lp := [seq(PowerSeries(coeff(p,v,i)),i=0..degree(p,v))] or lp := [seq(PowerSeries(coeff(p,v,i)),i=0..degree(p,v))]. For the latter, r is a rational function where v only occurs in the numerator; that is, it is a polynomial in v. Hence, the ith coefficient of r with respect to v is well-defined, and indeed we can define the result very similarly: that calling sequence returns the same result as UnivariatePolynomialOverPowerSeries(lp, v) where lp := [seq(PowerSeries(coeff(r,v,i)),i=0..degree(r,v))] or lp := [seq(PowerSeries(coeff(p,v,i)),i=0..degree(p,v))].
The calling sequence UnivariatePolynomialOverPowerSeries(ps, v) creates a univariate polynomial over power series representing ps, with v as its main variable. This is only possible if ps is known to be a polynomial function of v, which is the case if it is independent of v (in which case it is trivially polynomial) or if the analytic expression for ps is known and it is polynomial in v. If neither of the former two cases is true, then an error is raised.
The calling sequence UnivariatePolynomialOverPowerSeries(u, v) copies u. You may omit v in this case, but if you specify it, it must be equal to the main variable of u.
The calling sequences with UnivariatePolynomialOverPuiseuxSeries are exactly the same as their equivalents using UnivariatePolynomialOverPowerSeries; the underlying data structure supports both power series and Puiseux series as the coefficients. The alias UnivariatePolynomialOverPuiseuxSeries was added to clarify the fact that the coefficients can be Puiseux series.
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:
Create a univariate polynomial over power series from a list of power series.
f≔UnivariatePolynomialOverPowerSeries⁡PowerSeries⁡1,PowerSeries⁡0,PowerSeries⁡x,PowerSeries⁡y,1PowerSeries⁡1+x+y,z
f≔UnⅈvarⅈatⅇPolynomⅈalOvⅇrPowⅇrSⅇrⅈⅇs: 1+0⁢z+x⁢z2+y⁢z3+1+…⁢z4
Degree⁡f
4
seq⁡GetCoefficient⁡f,i,i=0..4
PowⅇrSⅇrⅈⅇs: 1,PowⅇrSⅇrⅈⅇs: 0,PowⅇrSⅇrⅈⅇs: x,PowⅇrSⅇrⅈⅇs: y,PowⅇrSⅇrⅈⅇs of 11+x+y : 1+…
We compute its linear and quadratic truncation. These are defined in terms of the homogeneous degree of the coefficients, ignoring the degree in the main variable.
Truncate⁡f,1
1+1−x−y⁢z4+y⁢z3+x⁢z2
Truncate⁡f,2
1+x2+2⁢x⁢y+y2−x−y+1⁢z4+y⁢z3+x⁢z2
Create a univariate polynomial over power series from a polynomial and a rational function.
p≔z−1⁢z−2⁢z−3+x⁢z2+z
UnivariatePolynomialOverPowerSeries⁡p,z
UnⅈvarⅈatⅇPolynomⅈalOvⅇrPowⅇrSⅇrⅈⅇs: −6+11+x⁢z+−6+x⁢z2+1⁢z3
r≔px+y−1+1
r≔z−1⁢z−2⁢z−3+x⁢z2+zx+y−1+1
UnivariatePolynomialOverPowerSeries⁡r,z
UnⅈvarⅈatⅇPolynomⅈalOvⅇrPowⅇrSⅇrⅈⅇs: 7+…+−11+…⁢z+6+…⁢z2+−1+…⁢z3
Notice that the following example returns a univariate polynomial with Puiseux series as coefficients.
p≔1+x2⁢z+z2x2+x
p≔x2⁢z+z2+1x2+x
h≔UnivariatePolynomialOverPowerSeries⁡p,z
h≔UnⅈvarⅈatⅇPolynomⅈalOvⅇrPuⅈsⅇuxSⅇrⅈⅇs: 1x+…+0+…⁢z+1x+…⁢z2
seq⁡GetCoefficient⁡h,i,i=0..2
PuⅈsⅇuxSⅇrⅈⅇs of 1x⁢x+1 : 1x+…,PuⅈsⅇuxSⅇrⅈⅇs of xx+1 : 0+…,PuⅈsⅇuxSⅇrⅈⅇs of 1x⁢x+1 : 1x+…
This happens since the polynomial x^2+x is not invertible as a power series, but it is as a Puiseux series.
The following attempt will not work, because Maple cannot determine that d is polynomial in z (though actually it is).
d≔PowerSeries⁡d↦ifelse⁡d=0,0,z⋅xd−1d−1!,variables=x,z
d≔PowⅇrSⅇrⅈⅇs: 0+…
UnivariatePolynomialOverPowerSeries⁡d,z
Error, (in MultivariatePowerSeries:-UnivariatePolynomialOverPowerSeries) attempted to convert a power series involving z to a univariate polynomial over power series in z, but it is not known to be polynomial in z
We define e in the same way as d but specify the analytic expression. Then we can successfully convert it to a univariate polynomial over power series.
e≔PowerSeries⁡d↦ifelse⁡d=0,0,z⋅xd−1d−1!,analytic=z⁢exp⁡x
e≔PowⅇrSⅇrⅈⅇs of z⁢ⅇx : 0+…
k≔UnivariatePolynomialOverPowerSeries⁡e,z
k≔UnⅈvarⅈatⅇPolynomⅈalOvⅇrPowⅇrSⅇrⅈⅇs: 0+1+…⁢z
To copy k, we can specify the main variable explicitly or omit it. If we specify it explicitly, it has to be z, otherwise we obtain an error:
k1≔UnivariatePolynomialOverPowerSeries⁡k,x
Error, (in MultivariatePowerSeries:-UnivariatePolynomialOverPowerSeries) you specified x as the main variable, but the main variable of the first argument is z
k1≔UnivariatePolynomialOverPowerSeries⁡k,z
k1≔UnⅈvarⅈatⅇPolynomⅈalOvⅇrPowⅇrSⅇrⅈⅇs: 0+1+…⁢z
k2≔UnivariatePolynomialOverPowerSeries⁡k
k2≔UnⅈvarⅈatⅇPolynomⅈalOvⅇrPowⅇrSⅇrⅈⅇs: 0+1+…⁢z
Create a univariate polynomial over Puiseux series from a list of Puiseux series.
g≔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
g≔UnⅈvarⅈatⅇPolynomⅈalOvⅇrPuⅈsⅇuxSⅇrⅈⅇs: 1+0⁢z+x13⁢z2+y⁢z3+0+…⁢z4
Degree⁡g
seq⁡GetCoefficient⁡g,i,i=0..4
PuⅈsⅇuxSⅇrⅈⅇs: 1,PuⅈsⅇuxSⅇrⅈⅇs: 0,PuⅈsⅇuxSⅇrⅈⅇs of x13 : x13,PuⅈsⅇuxSⅇrⅈⅇs of y : y,PuⅈsⅇuxSⅇrⅈⅇs of x⁢y+xy1+x⁢y+xy : 0+…
We compute its linear and quadratic truncation. These are defined in terms of the homogeneous degree of the internal power series objects in gs coefficients, ignoring the degree in the main variable.
Truncate⁡g,1
1+x⁢y+xy⁢z4+y⁢z3+x13⁢z2
Truncate⁡g,2
1+−x2⁢y−2⁢x2y−x2y2+x⁢y+xy⁢z4+y⁢z3+x13⁢z2
The MultivariatePowerSeries[UnivariatePolynomialOverPowerSeries] command was introduced in Maple 2021.
For more information on Maple 2021 changes, see Updates in Maple 2021.
The r parameter was introduced in Maple 2022.
For more information on Maple 2022 changes, see Updates in Maple 2022.
The MultivariatePowerSeries[UnivariatePolynomialOverPuiseuxSeries] command was introduced in Maple 2023.
The MultivariatePowerSeries[UnivariatePolynomialOverPowerSeries] command was updated in Maple 2023.
For more information on Maple 2023 changes, see Updates in Maple 2023.
See Also
ApproximatelyEqual
Degree
Inverse
PowerSeries
PuiseuxSeries
Truncate
Download Help Document