# Puiseux Series Ring#

The ring of Puiseux series.

AUTHORS:

REFERENCES:

class sage.rings.puiseux_series_ring.PuiseuxSeriesRing(laurent_series)#

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)
y^(-5/6) + y^(4/3) + O(y^2)
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
```