Accessors and Expansion

The following functions provide an interface to conveniently extract information from a power series defined as above.

Domain(s) : RngPowAlgElt -> RngMPol
Return the multivariate polynomial ring that is used for approximating the series s by its truncations.
ExponentLattice(s) : RngPowAlgElt -> Tup
Return the exponent lattice (1/e)Γ of the series as tuple (Γ, e) where Γ is an integral lattice and e is an integer.
DefiningPolynomial(s) : RngPowAlgElt -> RngUPolElt
Return a defining polynomial of the series which is a squarefree univariate polynomial over the multivariate polynomial domain Domain(s). In the case of series defined with substitutions, the computation may be expensive and can involve recursive resultant computations.
Order(s) : RngPowAlgElt -> RngIntElt
    TestZero: BoolElt                   Default: false
Given a series s, return the integral order (total degree of smallest non-zero term occurring) of its expansion as returned by Expand, i.e., its fractionary order times the exponent denominator. If s is zero, this function will not terminate. Set TestZero to true to get a return value -1 in this case, but note that this involves the computationally complex call IsZero.
Expand(s,ord) : RngPowAlgElt, RngIntElt -> BoolElt, RngMPolElt
Given the power series β which is represented by s, let α be the result of substituting variables xi |-> xie where e is taken from the output of ExponentLattice(s) (i.e., α is β without exponent denominators). Returns true and the truncation of α modulo terms of order greater or equal ord. A return of false indicates that the representation is inconsistent (which should only happen when RationalPuiseux is called with non quasi-ordinary input or AlgebraicPowerSeries is used inconsistently).

Example RngPowAlg_accessors (H52E2)

We can study the series s3.
> Domain(s3);
Polynomial ring of rank 1 over Univariate rational function
field over Rational Field
Graded Lexicographical Order
Variables: t
> ExponentLattice(s3);
<
    Standard Lattice of rank 1 and degree 1,
    3
>
> DefiningPolynomial(s3);
(s^45*t^45 - ... - 15*s^30*t^2 - s^30)*u^15 + ... +
(5*s^37*t^41 - ... + 120*s^31*t^19 - 30*s^30*t^18)*u^3 -
s^35*t^40 + ... - 5*s^31*t^21 + s^30*t^20
> Order(s3);
4

These commands reveal the following about s3: It is a power series in Q(s)ll t1/3 rr, because it is approximated in Q(s)[t] and has exponent lattice tfrac(1)(3)Z. A defining polynomial in Q(s)[t][u] was also computed. (Recall that s3 has been defined recursively.) The order is tfrac(4)(3) which we know already from a previous expansion.

V2.28, 13 July 2023