LMOpNewtonPolygon¶

picture of the Newton polygon of a linear Mahler operator¶

Calling sequence:¶

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

Parameters:¶

  • $L$, a linear Mahler operator with polynomial coefficients wrt M
  • $g$, a rational function or a series in $x$
  • $x$, a name
  • $M$, the name of the Mahler operator
  • $b$, the radix of the Mahler operator

Description:¶

  • $\operatorname{LMOpNewtonPolygon}(L, g, x, M, b)$ computes a Maple plot of the Newton diagram as described in the cited article.
  • The procedure is not yet implemented in the case $g \neq 0$.
  • Obviously this procedure is useful only for small examples.
  • The procedure accepts the options of $\operatorname{plot}$.

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]:
In [3]:
 b := 2:
Out[3]:

$$$$

In [4]:
 L := (5*x^4+1)*M^2+(-6*x^6-6*x^5-x^4-1)*M+6*x^4+x^3-4*x^2+x;
Out[4]:

$$\left(5 x^{4}+1\right) M^{2}+\left(-6 x^{6}-6 x^{5}-x^{4}-1\right) M +6 x^{4}+x^{3}-4 x^{2}+x$$

In [5]:
 pix := LMOpNewtonPolygon(L, 0, x, M, b, scaling = constrained);
Out[5]:

$$$$

In the picture structure, we keep only the colored part, i.e. we remove all the black part. Newton's upper and lower polygons are described from left to right (i.e. with points of increasing abscissa).

In [6]:
 seq(op(i, remove(has, pix, COLOUR(RGB, 0., 0., 0.))), i = 1..2);
Out[6]:

$$\mathit{CURVES}\! \left(\mathit{Matrix}\! \left(3, 2, \left\{\left(1, 1\right)= 1.0, \left(1, 2\right)= 1.0, \left(2, 1\right)= 2.0, \left(3, 1\right)= 4.0\right\}, \mathit{datatype} =\mathit{float}_{8}, \mathit{storage} =\mathit{rectangular} , \mathit{order} =\textit{Fortran\_order} , \mathit{shape} =\left[\right]\right), \mathit{COLOUR}\! \left(\mathit{RGB} , 0.0, 0.0, 1.0\right)\right), \mathit{CURVES}\! \left(\mathit{Matrix}\! \left(3, 2, \left\{\left(1, 1\right)= 1.0, \left(1, 2\right)= 4.0, \left(2, 1\right)= 2.0, \left(2, 2\right)= 6.0, \left(3, 1\right)= 4.0, \left(3, 2\right)= 4.0\right\}, \mathit{datatype} =\mathit{float}_{8}, \mathit{storage} =\mathit{rectangular} , \mathit{order} =\textit{Fortran\_order} , \mathit{shape} =\left[\right]\right), \mathit{COLOUR}\! \left(\mathit{RGB} , 1.0, 0.0, 0.0\right)\right)$$