 MultivariatePowerSeries/WeierstrassPreparation - Maple Help

MultivariatePowerSeries

 WeierstrassPreparation
 Apply the Weierstrass preparation theorem to a univariate polynomial over power series Calling Sequence WeierstrassPreparation(u) Parameters

 u - univariate polynomial over power series generated by this package Description

 • 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 maximial 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 the generators of all those coefficients have been determined.
 • When using the MultivariatePowerSeries package, do not assign anything to the variables occurring in the power series and univariate polynomials over power series. If you do, you may see invalid results. Examples

 > $\mathrm{with}\left(\mathrm{MultivariatePowerSeries}\right):$

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 $\mathrm{p1}$ will be quadratic and $\mathrm{a1}$ will be linear.

 > $f≔\mathrm{UnivariatePolynomialOverPowerSeries}\left(\left[\mathrm{PowerSeries}\left(x\right),\mathrm{PowerSeries}\left(y\right),\mathrm{PowerSeries}\left(1\right),\frac{1}{\mathrm{PowerSeries}\left(1+x+y\right)}\right],z\right)$
 ${f}{≔}\left[{UnivariatⅇPolynomialOvⅇrPowⅇrSⅇriⅇs:}\left({x}\right){+}\left({y}\right){}{z}{+}\left({1}\right){}{{z}}^{{2}}{+}\left({1}{+}{\dots }\right){}{{z}}^{{3}}\right]$ (1)
 > $\mathrm{p1},\mathrm{a1}≔\mathrm{WeierstrassPreparation}\left(f\right)$
 ${\mathrm{p1}}{,}{\mathrm{a1}}{≔}\left[{UnivariatⅇPolynomialOvⅇrPowⅇrSⅇriⅇs:}\left({0}{+}{\dots }\right){+}\left({0}{+}{\dots }\right){}{z}{+}\left({1}\right){}{{z}}^{{2}}\right]{,}\left[{UnivariatⅇPolynomialOvⅇrPowⅇrSⅇriⅇs:}\left({1}{+}{\dots }\right){+}\left({1}{+}{\dots }\right){}{z}\right]$ (2)

The terms of $\mathrm{p1}$ and $\mathrm{a1}$ can only be computed in tandem, so if we update the precision of $\mathrm{p1}$, then the precision of $\mathrm{a1}$ will also be updated.

 > $\mathrm{UpdatePrecision}\left(\mathrm{p1},5\right):$
 > $\mathrm{p1}$
 $\left[{UnivariatⅇPolynomialOvⅇrPowⅇrSⅇriⅇs:}\left({x}{-}{{x}}^{{2}}{+}{x}{}{y}{+}{5}{}{{x}}^{{3}}{-}{4}{}{{x}}^{{2}}{}{y}{+}{x}{}{{y}}^{{2}}{-}{27}{}{{x}}^{{4}}{+}{26}{}{{x}}^{{3}}{}{y}{-}{11}{}{{x}}^{{2}}{}{{y}}^{{2}}{+}{2}{}{x}{}{{y}}^{{3}}{+}{161}{}{{x}}^{{5}}{-}{192}{}{{x}}^{{4}}{}{y}{+}{109}{}{{x}}^{{3}}{}{{y}}^{{2}}{-}{32}{}{{x}}^{{2}}{}{{y}}^{{3}}{+}{4}{}{x}{}{{y}}^{{4}}{+}{\dots }\right){+}\left({y}{-}{x}{+}{3}{}{{x}}^{{2}}{-}{2}{}{x}{}{y}{+}{{y}}^{{2}}{-}{14}{}{{x}}^{{3}}{+}{13}{}{{x}}^{{2}}{}{y}{-}{6}{}{x}{}{{y}}^{{2}}{+}{{y}}^{{3}}{+}{78}{}{{x}}^{{4}}{-}{91}{}{{x}}^{{3}}{}{y}{+}{52}{}{{x}}^{{2}}{}{{y}}^{{2}}{-}{15}{}{x}{}{{y}}^{{3}}{+}{2}{}{{y}}^{{4}}{-}{479}{}{{x}}^{{5}}{+}{677}{}{{x}}^{{4}}{}{y}{-}{472}{}{{x}}^{{3}}{}{{y}}^{{2}}{+}{185}{}{{x}}^{{2}}{}{{y}}^{{3}}{-}{41}{}{x}{}{{y}}^{{4}}{+}{4}{}{{y}}^{{5}}{+}{\dots }\right){}{z}{+}\left({1}\right){}{{z}}^{{2}}\right]$ (3)
 > $\mathrm{a1}$
 $\left[{UnivariatⅇPolynomialOvⅇrPowⅇrSⅇriⅇs:}\left({1}{-}{y}{+}{x}{-}{4}{}{{x}}^{{2}}{+}{2}{}{x}{}{y}{+}{18}{}{{x}}^{{3}}{-}{11}{}{{x}}^{{2}}{}{y}{+}{4}{}{x}{}{{y}}^{{2}}{-}{{y}}^{{3}}{-}{96}{}{{x}}^{{4}}{+}{84}{}{{x}}^{{3}}{}{y}{-}{45}{}{{x}}^{{2}}{}{{y}}^{{2}}{+}{12}{}{x}{}{{y}}^{{3}}{-}{{y}}^{{4}}{+}{\dots }\right){+}\left({1}{-}{x}{-}{y}{+}{{x}}^{{2}}{+}{2}{}{x}{}{y}{+}{{y}}^{{2}}{-}{{x}}^{{3}}{-}{3}{}{{x}}^{{2}}{}{y}{-}{3}{}{x}{}{{y}}^{{2}}{-}{{y}}^{{3}}{+}{{x}}^{{4}}{+}{4}{}{{x}}^{{3}}{}{y}{+}{6}{}{{x}}^{{2}}{}{{y}}^{{2}}{+}{4}{}{x}{}{{y}}^{{3}}{+}{{y}}^{{4}}{+}{\dots }\right){}{z}\right]$ (4)

We compute the product of $\mathrm{p1}$ and $\mathrm{a1}$, and verify that its coefficients are equal at precision 10.

 > $\mathrm{h1}≔\mathrm{p1}\mathrm{a1}$
 ${\mathrm{h1}}{≔}\left[{UnivariatⅇPolynomialOvⅇrPowⅇrSⅇriⅇs:}\left({x}{+}{\dots }\right){+}\left({y}{+}{\dots }\right){}{z}{+}\left({1}{+}{\dots }\right){}{{z}}^{{2}}{+}\left({1}{-}{x}{-}{y}{+}{{x}}^{{2}}{+}{2}{}{x}{}{y}{+}{{y}}^{{2}}{-}{{x}}^{{3}}{-}{3}{}{{x}}^{{2}}{}{y}{-}{3}{}{x}{}{{y}}^{{2}}{-}{{y}}^{{3}}{+}{{x}}^{{4}}{+}{4}{}{{x}}^{{3}}{}{y}{+}{6}{}{{x}}^{{2}}{}{{y}}^{{2}}{+}{4}{}{x}{}{{y}}^{{3}}{+}{{y}}^{{4}}{+}{\dots }\right){}{{z}}^{{3}}\right]$ (5)
 > $\mathrm{ApproximatelyEqual}\left(f,\mathrm{h1},10\right)$
 ${\mathrm{true}}$ (6)

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, $\mathrm{p2}$ will be cubic and $\mathrm{a2}$ will be independent of $z$.

 > $g≔\mathrm{UnivariatePolynomialOverPowerSeries}\left(\left[\mathrm{PowerSeries}\left(x\right),\mathrm{PowerSeries}\left(y\right),\mathrm{PowerSeries}\left(x\right),\mathrm{GeometricSeries}\left(\left[x,y\right]\right)\right],z\right)$
 ${g}{≔}\left[{UnivariatⅇPolynomialOvⅇrPowⅇrSⅇriⅇs:}\left({x}\right){+}\left({y}\right){}{z}{+}\left({x}\right){}{{z}}^{{2}}{+}\left({1}{+}{x}{+}{y}{+}{\dots }\right){}{{z}}^{{3}}\right]$ (7)
 > $\mathrm{p2},\mathrm{a2}≔\mathrm{WeierstrassPreparation}\left(g\right)$
 ${\mathrm{p2}}{,}{\mathrm{a2}}{≔}\left[{UnivariatⅇPolynomialOvⅇrPowⅇrSⅇriⅇs:}\left({0}{+}{\dots }\right){+}\left({0}{+}{\dots }\right){}{z}{+}\left({0}{+}{\dots }\right){}{{z}}^{{2}}{+}\left({1}\right){}{{z}}^{{3}}\right]{,}\left[{UnivariatⅇPolynomialOvⅇrPowⅇrSⅇriⅇs:}\left({1}{+}{x}{+}{y}{+}{\dots }\right)\right]$ (8)

We multiply the factors together and verify that the coefficients are equal to $g$s at precision 10.

 > $\mathrm{h2}≔\mathrm{Multiply}\left(\mathrm{p2},\mathrm{a2}\right)$
 ${\mathrm{h2}}{≔}\left[{UnivariatⅇPolynomialOvⅇrPowⅇrSⅇriⅇs:}\left({0}{+}{\dots }\right){+}\left({0}{+}{\dots }\right){}{z}{+}\left({0}{+}{\dots }\right){}{{z}}^{{2}}{+}\left({1}{+}{\dots }\right){}{{z}}^{{3}}\right]$ (9)
 > $\mathrm{ApproximatelyEqual}\left(g,\mathrm{h2},10\right)$
 ${\mathrm{true}}$ (10) References

 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 - 12291, (2020): 108-128.
 Mohammadali Asadi, Alexander Brandt, Mahsa Kazemi, Marc Moreno Maza, and Erik Postma: " Multivariate Power Series in Maple." Maple Conference 2020, Waterloo, Ontario, Canada, November 2-6, 2020, Communications in Computer and Information Science (CCIS) series - Springer 2020 (submitted). Compatibility

 • The MultivariatePowerSeries[WeierstrassPreparation] command was introduced in Maple 2021.