Discrete Valuation Rings (DVR) and Fields (DVF)

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

Bases: sage.categories.category_singleton.Category_singleton

The category of discrete valuation fields

EXAMPLES:

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

Return the valuation of this element.

EXAMPLES:

sage: x = Qp(5)(50)
sage: x.valuation()
2
class DiscreteValuationFields.ParentMethods
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)
DiscreteValuationFields.super_categories()

EXAMPLES:

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

Bases: sage.categories.category_singleton.Category_singleton

The category of discrete valuation rings

EXAMPLES:

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

Return the Euclidean degree of this element.

TESTS:

sage: R.<q> = GF(5)[[]]
sage: (q^3).euclidean_degree()
3
sage: R(0).euclidean_degree()
Traceback (most recent call last):
...
ValueError: Euclidean degree of the zero element not defined
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.

TESTS:

sage: R.<q> = GF(5)[[]]
sage: (q^2 + q).quo_rem(q)
(1 + q, 0)
sage: (q + 1).quo_rem(q^2)
(0, 1 + q)
sage: q.quo_rem(0)
Traceback (most recent call last):
...
ZeroDivisionError: Euclidean division by the zero element not defined
valuation()

Return the valuation of this element.

EXAMPLES:

sage: x = Zp(5)(50)
sage: x.valuation()
2
class DiscreteValuationRings.ParentMethods
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
DiscreteValuationRings.super_categories()

EXAMPLES:

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