LMOpNormalization¶

`normalization' of a linear Mahler operator¶

Calling sequence:¶

$\operatorname{LMOpNormalization}(L, x, M, b)$

Parameters:¶

  • a linear Mahler operator $L(x, M)$ with polynomial coefficients,
  • the variables $x$ and $M$,
  • the radix $b$ of the Mahler operator.

Description:¶

  • $\operatorname{LMOpNormalization}$ takes as input a polynomial in $M$ with nonnegative valuation and returns a polynomial in $M$ with valuation $0$ (or $0$ if $L = 0$). The new operator has the same solution space of formal Laurent series as the one given as input.
  • This action is called normalization in the cited article (Algorithm $11$).

References:¶

  • Frédéric Chyzak, Thomas Dreyfus, Philippe Dumas, and Marc Mezzarobba (2018). Computing solutions of linear Mahler equations. Mathematics of Computation 87.314, pp. 2977–3021.

Example:¶

In [1]:
libname := libname, FileTools:-JoinPath(["maple","lib","dcfun.mla"],base=homedir):
In [2]:
 with(dcfun):
Out[2]:

We define a linear Mahler operator $L$ with positive valuation.

In [3]:
 b := 2;
Out[3]:

$$2$$

In [4]:
 L := (9*x^40+9*x^39-3*x^38-3*x^37+9*x^34+9*x^33+3*x^32-6*x^31-11*x^30-11*x^29+12*x^27+6*x^26+6*x^25+7*x^24-2*x^23+x^22+x^21-3*x^20-4*x^19-3*x^18-3*x^17-3*x^16+x^15+x^14+x^13+x^12)*M^3+(-9*x^38-9*x^37+3*x^36+3*x^35+3*x^34+3*x^33-10*x^32-10*x^31-6*x^30-6*x^29+6*x^28+6*x^27-7*x^26-7*x^25-7*x^24-7*x^23-3*x^22-3*x^21-4*x^20-4*x^19-4*x^18-4*x^17-4*x^16-4*x^15-4*x^14-4*x^13-4*x^12+5*x^11+5*x^10+5*x^9+5*x^8+2*x^7+2*x^6+2*x^5+2*x^4-x^3-x^2-x-1)*M^2+(9*x^28+9*x^27+6*x^26+6*x^25-6*x^24-6*x^23-2*x^22-2*x^21+10*x^20+10*x^19+6*x^18+6*x^17+3*x^16+3*x^15+4*x^14+4*x^13+4*x^12+4*x^11-5*x^10-5*x^9-2*x^8-2*x^7-2*x^6-2*x^5-2*x^4-2*x^3+x^2+x)*M;
Out[4]:

$$\left(9 x^{40}+9 x^{39}-3 x^{38}-3 x^{37}+9 x^{34}+9 x^{33}+3 x^{32}-6 x^{31}-11 x^{30}-11 x^{29}+12 x^{27}+6 x^{26}+6 x^{25}+7 x^{24}-2 x^{23}+x^{22}+x^{21}-3 x^{20}-4 x^{19}-3 x^{18}-3 x^{17}-3 x^{16}+x^{15}+x^{14}+x^{13}+x^{12}\right) M^{3}+\left(-9 x^{38}-9 x^{37}+3 x^{36}+3 x^{35}+3 x^{34}+3 x^{33}-10 x^{32}-10 x^{31}-6 x^{30}-6 x^{29}+6 x^{28}+6 x^{27}-7 x^{26}-7 x^{25}-7 x^{24}-7 x^{23}-3 x^{22}-3 x^{21}-4 x^{20}-4 x^{19}-4 x^{18}-4 x^{17}-4 x^{16}-4 x^{15}-4 x^{14}-4 x^{13}-4 x^{12}+5 x^{11}+5 x^{10}+5 x^{9}+5 x^{8}+2 x^{7}+2 x^{6}+2 x^{5}+2 x^{4}-x^{3}-x^{2}-x -1\right) M^{2}+\left(9 x^{28}+9 x^{27}+6 x^{26}+6 x^{25}-6 x^{24}-6 x^{23}-2 x^{22}-2 x^{21}+10 x^{20}+10 x^{19}+6 x^{18}+6 x^{17}+3 x^{16}+3 x^{15}+4 x^{14}+4 x^{13}+4 x^{12}+4 x^{11}-5 x^{10}-5 x^{9}-2 x^{8}-2 x^{7}-2 x^{6}-2 x^{5}-2 x^{4}-2 x^{3}+x^{2}+x \right) M$$

In [5]:
 r, d := degree(L, M), degree(L, x);
Out[5]:

$$3, 40$$

In [6]:
 ldegree(L, M);
Out[6]:

$$1$$

We compute its nullspace in the space of formal Laurent series.

In [7]:
 LMOpSolve(L, x, M, b, output = 'laurentseries', free = K);
Out[7]:

$$K_{1} x^{-3}-K_{1} x^{-2}+K_{1}-K_{1} x +K_{1} x^{3}-K_{1} x^{4}+K_{1} x^{6}+\mathrm{O}\! \left(x^{7}\right)$$

We `normalize' it into a new operator with valuation $0$.

In [8]:
 newL := LMOpNormalization(L, x, M, b);
Out[8]:

$$-M \,x^{5}+x^{4} M -M \,x^{3}+1$$

We compute the nullspace of ${\mathit newL}$ for comparison.

In [9]:
 LMOpSolve(newL, x, M, b, output = 'laurentseries', free = K);
Out[9]:

$$K_{1} x^{-3}-K_{1} x^{-2}+K_{1}-K_{1} x +K_{1} x^{3}-K_{1} x^{4}+K_{1} x^{6}+\mathrm{O}\! \left(x^{7}\right)$$