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

class sage.categories.discrete_valuation.DiscreteValuationFields[source]#

Bases: Category_singleton

The category of discrete valuation fields

EXAMPLES:

sage: Qp(7) in DiscreteValuationFields()                                        # needs sage.rings.padics
True
sage: TestSuite(DiscreteValuationFields()).run()
>>> from sage.all import *
>>> Qp(Integer(7)) in DiscreteValuationFields()                                        # needs sage.rings.padics
True
>>> TestSuite(DiscreteValuationFields()).run()
class ElementMethods[source]#

Bases: object

valuation()[source]#

Return the valuation of this element.

EXAMPLES:

sage: # needs sage.rings.padics
sage: x = Qp(5)(50)
sage: x.valuation()
2
>>> from sage.all import *
>>> # needs sage.rings.padics
>>> x = Qp(Integer(5))(Integer(50))
>>> x.valuation()
2
class ParentMethods[source]#

Bases: object

residue_field()[source]#

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

EXAMPLES:

sage: Qp(5).residue_field()                                             # needs sage.rings.padics
Finite Field of size 5

sage: K.<u> = LaurentSeriesRing(QQ)
sage: K.residue_field()
Rational Field
>>> from sage.all import *
>>> Qp(Integer(5)).residue_field()                                             # needs sage.rings.padics
Finite Field of size 5

>>> K = LaurentSeriesRing(QQ, names=('u',)); (u,) = K._first_ngens(1)
>>> K.residue_field()
Rational Field
uniformizer()[source]#

Return a uniformizer of this ring.

EXAMPLES:

sage: Qp(5).uniformizer()                                               # needs sage.rings.padics
5 + O(5^21)
>>> from sage.all import *
>>> Qp(Integer(5)).uniformizer()                                               # needs sage.rings.padics
5 + O(5^21)
super_categories()[source]#

EXAMPLES:

sage: DiscreteValuationFields().super_categories()
[Category of fields]
>>> from sage.all import *
>>> DiscreteValuationFields().super_categories()
[Category of fields]
class sage.categories.discrete_valuation.DiscreteValuationRings[source]#

Bases: Category_singleton

The category of discrete valuation rings

EXAMPLES:

sage: GF(7)[['x']] in DiscreteValuationRings()
True
sage: TestSuite(DiscreteValuationRings()).run()
>>> from sage.all import *
>>> GF(Integer(7))[['x']] in DiscreteValuationRings()
True
>>> TestSuite(DiscreteValuationRings()).run()
class ElementMethods[source]#

Bases: object

euclidean_degree()[source]#

Return the Euclidean degree of this element.

gcd(other)[source]#

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

is_unit()[source]#

Return True if self is invertible.

EXAMPLES:

sage: # needs sage.rings.padics
sage: x = Zp(5)(50)
sage: x.is_unit()
False

sage: # needs sage.rings.padics
sage: x = Zp(7)(50)
sage: x.is_unit()
True
>>> from sage.all import *
>>> # needs sage.rings.padics
>>> x = Zp(Integer(5))(Integer(50))
>>> x.is_unit()
False

>>> # needs sage.rings.padics
>>> x = Zp(Integer(7))(Integer(50))
>>> x.is_unit()
True
lcm(other)[source]#

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

quo_rem(other)[source]#

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

EXAMPLES:

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)
>>> from sage.all import *
>>> R = GF(Integer(5))[['q']]; (q,) = R._first_ngens(1)
>>> (q**Integer(2) + q).quo_rem(q)
(1 + q, 0)
>>> (q + Integer(1)).quo_rem(q**Integer(2))
(0, 1 + q)
valuation()[source]#

Return the valuation of this element.

EXAMPLES:

sage: # needs sage.rings.padics
sage: x = Zp(5)(50)
sage: x.valuation()
2
>>> from sage.all import *
>>> # needs sage.rings.padics
>>> x = Zp(Integer(5))(Integer(50))
>>> x.valuation()
2
class ParentMethods[source]#

Bases: object

residue_field()[source]#

Return the residue field of this ring.

EXAMPLES:

sage: Zp(5).residue_field()                                             # needs sage.rings.padics
Finite Field of size 5

sage: K.<u> = QQ[[]]
sage: K.residue_field()
Rational Field
>>> from sage.all import *
>>> Zp(Integer(5)).residue_field()                                             # needs sage.rings.padics
Finite Field of size 5

>>> K = QQ[['u']]; (u,) = K._first_ngens(1)
>>> K.residue_field()
Rational Field
uniformizer()[source]#

Return a uniformizer of this ring.

EXAMPLES:

sage: Zp(5).uniformizer()                                               # needs sage.rings.padics
5 + O(5^21)

sage: K.<u> = QQ[[]]
sage: K.uniformizer()
u
>>> from sage.all import *
>>> Zp(Integer(5)).uniformizer()                                               # needs sage.rings.padics
5 + O(5^21)

>>> K = QQ[['u']]; (u,) = K._first_ngens(1)
>>> K.uniformizer()
u
super_categories()[source]#

EXAMPLES:

sage: DiscreteValuationRings().super_categories()
[Category of euclidean domains]
>>> from sage.all import *
>>> DiscreteValuationRings().super_categories()
[Category of euclidean domains]