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:
sage.structure.unique_representation.UniqueRepresentation
,sage.rings.ring.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
sage.rings.puiseux_series_ring_element.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
-