MultivariatePowerSeries
WeierstrassPreparation
apply the Weierstrass preparation theorem to a univariate polynomial over power series
Calling Sequence
Parameters
Description
Examples
References
Compatibility
WeierstrassPreparation(u)
u
-
univariate polynomial over power series generated by this package
The command WeierstrassPreperation(u) applies the Weierstrass preparation theorem to the univariate polynomial over power series u. It returns two univariate polynomials over power series p and a, described below.
Let d be the smallest integer such that the d-th coefficient of u is a unit. If there is no such coefficient, in other words, if each coefficient of u has a constant coefficient equal to 0, then Maple signals an error.
The polynomial p is a Weierstrass polynomial of degree d, thus p is monic and every coefficient of p, other than the leading one, evaluates to zero at the origin, that is, it belongs to the maximal ideal of the ring of power series. The polynomial a regarded as a power series (even with respect to its main variable) is invertible. Furthermore, u = p * a.
The command WeierstrassPreperation(u) is based on lazy evaluation techniques. To be precise, this command returns as soon as all coefficients (which are power series) of the univariate polynomials p and a are initialized, that is, as soon as the generators of all those coefficients have been determined.
This command is supported for univariate polynomials over power series, but not for univariate polynomials over 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:
We create a cubic univariate polynomial over power series and apply the Weierstrass preparation theorem to it. The quadratic coefficient of f is the first unit, so p1 will be quadratic and a1 will be linear.
f≔UnivariatePolynomialOverPowerSeries⁡PowerSeries⁡x,PowerSeries⁡y,PowerSeries⁡1,1PowerSeries⁡1+x+y,z
f≔UnⅈvarⅈatⅇPolynomⅈalOvⅇrPowⅇrSⅇrⅈⅇs: x+y⁢z+1⁢z2+1+…⁢z3
p1,a1≔WeierstrassPreparation⁡f
p1,a1≔UnⅈvarⅈatⅇPolynomⅈalOvⅇrPowⅇrSⅇrⅈⅇs: 0+…+0+…⁢z+1⁢z2,UnⅈvarⅈatⅇPolynomⅈalOvⅇrPowⅇrSⅇrⅈⅇs: 1+…+1+…⁢z
The terms of p1 and a1 can only be computed in tandem, so if we update the precision of p1, then the precision of a1 will also be updated.
UpdatePrecision⁡p1,5:
p1
UnⅈvarⅈatⅇPolynomⅈalOvⅇrPowⅇrSⅇrⅈⅇs: x−x2+x⁢y+5⁢x3−4⁢x2⁢y+x⁢y2−27⁢x4+26⁢x3⁢y−11⁢x2⁢y2+2⁢x⁢y3+161⁢x5−192⁢x4⁢y+109⁢x3⁢y2−32⁢x2⁢y3+4⁢x⁢y4+…+y−x+3⁢x2−2⁢x⁢y+y2−14⁢x3+13⁢x2⁢y−6⁢x⁢y2+y3+78⁢x4−91⁢x3⁢y+52⁢x2⁢y2−15⁢x⁢y3+2⁢y4−479⁢x5+677⁢x4⁢y−472⁢x3⁢y2+185⁢x2⁢y3−41⁢x⁢y4+4⁢y5+…⁢z+1⁢z2
a1
UnⅈvarⅈatⅇPolynomⅈalOvⅇrPowⅇrSⅇrⅈⅇs: 1−y+x−4⁢x2+2⁢x⁢y+18⁢x3−11⁢x2⁢y+4⁢x⁢y2−y3−96⁢x4+84⁢x3⁢y−45⁢x2⁢y2+12⁢x⁢y3−y4+…+1−x−y+x2+2⁢x⁢y+y2−x3−3⁢x2⁢y−3⁢x⁢y2−y3+x4+4⁢x3⁢y+6⁢x2⁢y2+4⁢x⁢y3+y4+…⁢z
We compute the product of p1 and a1, and verify that its coefficients are equal at precision 10.
h1≔p1⁢a1
h1≔UnⅈvarⅈatⅇPolynomⅈalOvⅇrPowⅇrSⅇrⅈⅇs: x+…+y+…⁢z+1+…⁢z2+1−x−y+x2+2⁢x⁢y+y2−x3−3⁢x2⁢y−3⁢x⁢y2−y3+x4+4⁢x3⁢y+6⁢x2⁢y2+4⁢x⁢y3+y4+…⁢z3
ApproximatelyEqual⁡f,h1,10
true
This cubic univariate polynomial over power series has non-unit constant, linear, and quadratic coefficients of its main variable. Only the cubic coefficient is a unit. Hence if we apply the Weierstrass preparation theorem, p2 will be cubic and a2 will be independent of z.
g≔UnivariatePolynomialOverPowerSeries⁡PowerSeries⁡x,PowerSeries⁡y,PowerSeries⁡x,GeometricSeries⁡x,y,z
g≔UnⅈvarⅈatⅇPolynomⅈalOvⅇrPowⅇrSⅇrⅈⅇs: x+y⁢z+x⁢z2+1+x+y+…⁢z3
p2,a2≔WeierstrassPreparation⁡g
p2,a2≔UnⅈvarⅈatⅇPolynomⅈalOvⅇrPowⅇrSⅇrⅈⅇs: 0+…+0+…⁢z+0+…⁢z2+1⁢z3,UnⅈvarⅈatⅇPolynomⅈalOvⅇrPowⅇrSⅇrⅈⅇs: 1+x+y+…
We multiply the factors together and verify that the coefficients are equal to gs at precision 10.
h2≔Multiply⁡p2,a2
h2≔UnⅈvarⅈatⅇPolynomⅈalOvⅇrPowⅇrSⅇrⅈⅇs: 0+…+0+…⁢z+0+…⁢z2+1+…⁢z3
ApproximatelyEqual⁡g,h2,10
Alexander Brandt, Mahsa Kazemi, Marc Moreno Maza. "Power Series Arithmetic with the BPAS Library." Computer Algebra in Scientific Computing (CASC), Lecture Notes in Computer Science. Vol. 12291 (2020): 108-128.
Mohammadali Asadi, Alexander Brandt, Mahsa Kazemi, Marc Moreno Maza, and Erik Postma. "Multivariate Power Series in Maple." Corless R.M., Gerhard J., Kotsireas I.S. (eds) Maple in Mathematics Education and Research. MC 2020. Communications in Computer and Information Science (CCIS). Vol. 1414 Springer (2021): 48-66.
The MultivariatePowerSeries[WeierstrassPreparation] command was introduced in Maple 2021.
For more information on Maple 2021 changes, see Updates in Maple 2021.
The MultivariatePowerSeries[WeierstrassPreparation] command was updated in Maple 2023.
See Also
ApproximatelyEqual
GeometricSeries
HenselFactorize
Inverse
IsUnit
Multiply
PowerSeries
PuiseuxSeries
UnivariatePolynomialOverPowerSeries
UpdatePrecision
Download Help Document