Puiseux Series Ring#
The ring of Puiseux series.
AUTHORS:
Chris Swierczewski 2016: initial version on https://github.com/abelfunctions/abelfunctions/tree/master/abelfunctions
Frédéric Chapoton 2016: integration of code
Travis Scrimshaw, Sebastian Oehms 2019-2020: basic improvements and completions
REFERENCES:
- class sage.rings.puiseux_series_ring.PuiseuxSeriesRing(laurent_series)#
Bases:
UniqueRepresentation
,CommutativeRing
Rings of Puiseux series.
EXAMPLES:
sage: P = PuiseuxSeriesRing(QQ, 'y') sage: y = P.gen() sage: f = y**(4/3) + y**(-5/6); f y^(-5/6) + y^(4/3) sage: f.add_bigoh(2) y^(-5/6) + y^(4/3) + O(y^2) sage: f.add_bigoh(1) y^(-5/6) + O(y)
- Element#
alias of
PuiseuxSeries
- base_extend(R)#
Extend the coefficients.
INPUT:
R
– a ring
EXAMPLES:
sage: A = PuiseuxSeriesRing(ZZ, 'y') sage: A.base_extend(QQ) Puiseux Series Ring in y over Rational Field
- change_ring(R)#
Return a Puiseux series ring over another ring.
INPUT:
R
– a ring
EXAMPLES:
sage: A = PuiseuxSeriesRing(ZZ, 'y') sage: A.change_ring(QQ) Puiseux Series Ring in y over Rational Field
- default_prec()#
Return the default precision of
self
.EXAMPLES:
sage: A = PuiseuxSeriesRing(AA, 'z') sage: A.default_prec() 20
- fraction_field()#
Return the fraction field of this ring of Laurent series.
If the base ring is a field, then Puiseux series are already a field. If the base ring is a domain, then the Puiseux series over its fraction field is returned. Otherwise, raise a
ValueError
.EXAMPLES:
sage: R = PuiseuxSeriesRing(ZZ, 't', 30).fraction_field() sage: R Puiseux Series Ring in t over Rational Field sage: R.default_prec() 30 sage: PuiseuxSeriesRing(Zmod(4), 't').fraction_field() Traceback (most recent call last): ... ValueError: must be an integral domain
- gen(n=0)#
Return the generator of
self
.EXAMPLES:
sage: A = PuiseuxSeriesRing(AA, 'z') sage: A.gen() z
- is_dense()#
Return whether
self
is dense.EXAMPLES:
sage: A = PuiseuxSeriesRing(ZZ, 'y') sage: A.is_dense() True
- is_field(proof=True)#
Return whether
self
is a field.A Puiseux series ring is a field if and only its base ring is a field.
EXAMPLES:
sage: A = PuiseuxSeriesRing(ZZ, 'y') sage: A.is_field() False sage: A.change_ring(QQ).is_field() True
- is_sparse()#
Return whether
self
is sparse.EXAMPLES:
sage: A = PuiseuxSeriesRing(ZZ, 'y') sage: A.is_sparse() False
- laurent_series_ring()#
Return the underlying Laurent series ring.
EXAMPLES:
sage: A = PuiseuxSeriesRing(AA, 'z') sage: A.laurent_series_ring() Laurent Series Ring in z over Algebraic Real Field
- ngens()#
Return the number of generators of
self
, namely 1.EXAMPLES:
sage: A = PuiseuxSeriesRing(AA, 'z') sage: A.ngens() 1
- residue_field()#
Return the residue field of this Puiseux series field if it is a complete discrete valuation field (i.e. if the base ring is a field, in which case it is also the residue field).
EXAMPLES:
sage: R.<x> = PuiseuxSeriesRing(GF(17)) sage: R.residue_field() Finite Field of size 17 sage: R.<x> = PuiseuxSeriesRing(ZZ) sage: R.residue_field() Traceback (most recent call last): ... TypeError: the base ring is not a field
- uniformizer()#
Return a uniformizer of this Puiseux series field if it is a discrete valuation field (i.e. if the base ring is actually a field). Otherwise, an error is raised.
EXAMPLES:
sage: R.<t> = PuiseuxSeriesRing(QQ) sage: R.uniformizer() t sage: R.<t> = PuiseuxSeriesRing(ZZ) sage: R.uniformizer() Traceback (most recent call last): ... TypeError: the base ring is not a field