# Discrete Valuation Rings (DVR) and Fields (DVF)#

class sage.categories.discrete_valuation.DiscreteValuationFields(s=None)#

The category of discrete valuation fields

EXAMPLES:

```sage: Qp(7) in DiscreteValuationFields()
True
sage: TestSuite(DiscreteValuationFields()).run()
```
class ElementMethods#

Bases: `object`

valuation()#

Return the valuation of this element.

EXAMPLES:

```sage: x = Qp(5)(50)
sage: x.valuation()
2
```
class ParentMethods#

Bases: `object`

residue_field()#

Return the residue field of the ring of integers of this discrete valuation field.

EXAMPLES:

```sage: Qp(5).residue_field()
Finite Field of size 5

sage: K.<u> = LaurentSeriesRing(QQ)
sage: K.residue_field()
Rational Field
```
uniformizer()#

Return a uniformizer of this ring.

EXAMPLES:

```sage: Qp(5).uniformizer()
5 + O(5^21)
```
super_categories()#

EXAMPLES:

```sage: DiscreteValuationFields().super_categories()
[Category of fields]
```
class sage.categories.discrete_valuation.DiscreteValuationRings(s=None)#

The category of discrete valuation rings

EXAMPLES:

```sage: GF(7)[['x']] in DiscreteValuationRings()
True
sage: TestSuite(DiscreteValuationRings()).run()
```
class ElementMethods#

Bases: `object`

euclidean_degree()#

Return the Euclidean degree of this element.

gcd(other)#

Return the greatest common divisor of self and other, normalized so that it is a power of the distinguished uniformizer.

is_unit()#

Return True if self is invertible.

EXAMPLES:

```sage: x = Zp(5)(50)
sage: x.is_unit()
False

sage: x = Zp(7)(50)
sage: x.is_unit()
True
```
lcm(other)#

Return the least common multiple of self and other, normalized so that it is a power of the distinguished uniformizer.

quo_rem(other)#

Return the quotient and remainder for Euclidean division of `self` by `other`.

valuation()#

Return the valuation of this element.

EXAMPLES:

```sage: x = Zp(5)(50)
sage: x.valuation()
2
```
class ParentMethods#

Bases: `object`

residue_field()#

Return the residue field of this ring.

EXAMPLES:

```sage: Zp(5).residue_field()
Finite Field of size 5

sage: K.<u> = QQ[[]]
sage: K.residue_field()
Rational Field
```
uniformizer()#

Return a uniformizer of this ring.

EXAMPLES:

```sage: Zp(5).uniformizer()
5 + O(5^21)

sage: K.<u> = QQ[[]]
sage: K.uniformizer()
u
```
super_categories()#

EXAMPLES:

```sage: DiscreteValuationRings().super_categories()
[Category of euclidean domains]
```