Discrete Valuation Rings (DVR) and Fields (DVF) - Category Framework

Skip to content
Back to top
View this page
Edit this page

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

class sage.categories.discrete_valuation.DiscreteValuationFields

  Bases: `Category_singleton`

  The category of discrete valuation fields.

  EXAMPLES:

  Sage

      sage: Qp(7) in DiscreteValuationFields()                                        # needs sage.rings.padics
      True
      sage: TestSuite(DiscreteValuationFields()).run()

  Python

      >>> from sage.all import *
      >>> Qp(Integer(7)) in DiscreteValuationFields()                                        # needs sage.rings.padics
      True
      >>> TestSuite(DiscreteValuationFields()).run()

  class ElementMethods

    Bases: `object`

    valuation()

      Return the valuation of this element.

      EXAMPLES:

      Sage

          sage: # needs sage.rings.padics
          sage: x = Qp(5)(50)
          sage: x.valuation()
          2

      Python

          >>> from sage.all import *
          >>> # needs sage.rings.padics
          >>> x = Qp(Integer(5))(Integer(50))
          >>> 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

          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

      Python

          >>> 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()

      Return a uniformizer of this ring.

      EXAMPLES:

      Sage

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

      Python

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

  super_categories()

    EXAMPLES:

    Sage

        sage: DiscreteValuationFields().super_categories()
        [Category of fields]

    Python

        >>> from sage.all import *
        >>> DiscreteValuationFields().super_categories()
        [Category of fields]

class sage.categories.discrete_valuation.DiscreteValuationRings

  Bases: `Category_singleton`

  The category of discrete valuation rings.

  EXAMPLES:

  Sage

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

  Python

      >>> from sage.all import *
      >>> GF(Integer(7))[['x']] in DiscreteValuationRings()
      True
      >>> 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

          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

      Python

          >>> 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)

      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`.

      EXAMPLES:

      Sage

          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)

      Python

          >>> 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()

      Return the valuation of this element.

      EXAMPLES:

      Sage

          sage: # needs sage.rings.padics
          sage: x = Zp(5)(50)
          sage: x.valuation()
          2

      Python

          >>> from sage.all import *
          >>> # needs sage.rings.padics
          >>> x = Zp(Integer(5))(Integer(50))
          >>> x.valuation()
          2

  class ParentMethods

    Bases: `object`

    residue_field()

      Return the residue field of this ring.

      EXAMPLES:

      Sage

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

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

      Python

          >>> 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()

      Return a uniformizer of this ring.

      EXAMPLES:

      Sage

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

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

      Python

          >>> 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()

    EXAMPLES:

    Sage

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

    Python

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