Valuations which are scaled versions of another valuation - Discrete Valuations and Discrete Pseudo-Valuations

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

# Valuations which are scaled versions of another valuation

EXAMPLES:

Sage

    sage: 3*ZZ.valuation(3)
    3 * 3-adic valuation

Python

    >>> from sage.all import *
    >>> Integer(3)*ZZ.valuation(Integer(3))
    3 * 3-adic valuation

AUTHORS:

- Julian Rüth (2016-11-10): initial version

class sage.rings.valuation.scaled_valuation.ScaledValuationFactory

  Bases: `UniqueFactory`

  Return a valuation which scales the valuation `base` by the factor `s`.

  EXAMPLES:

  Sage

      sage: 3*ZZ.valuation(2) # indirect doctest
      3 * 2-adic valuation

  Python

      >>> from sage.all import *
      >>> Integer(3)*ZZ.valuation(Integer(2)) # indirect doctest
      3 * 2-adic valuation

  create_key(base, s)

    Create a key which uniquely identifies a valuation.

  create_object(version, key)

    Create a valuation from `key`.

class sage.rings.valuation.scaled_valuation.ScaledValuation_generic(parent, base_valuation, s)

  Bases: `DiscreteValuation`

  A valuation which scales another `base_valuation` by a finite positive factor `s`.

  EXAMPLES:

  Sage

      sage: v = 3*ZZ.valuation(3); v
      3 * 3-adic valuation

  Python

      >>> from sage.all import *
      >>> v = Integer(3)*ZZ.valuation(Integer(3)); v
      3 * 3-adic valuation

  extensions(ring)

    Return the extensions of this valuation to `ring`.

    EXAMPLES:

    Sage

        sage: v = 3*ZZ.valuation(5)
        sage: v.extensions(GaussianIntegers().fraction_field())                     # needs sage.rings.number_field
        [3 * [ 5-adic valuation, v(x + 2) = 1 ]-adic valuation,
         3 * [ 5-adic valuation, v(x + 3) = 1 ]-adic valuation]

    Python

        >>> from sage.all import *
        >>> v = Integer(3)*ZZ.valuation(Integer(5))
        >>> v.extensions(GaussianIntegers().fraction_field())                     # needs sage.rings.number_field
        [3 * [ 5-adic valuation, v(x + 2) = 1 ]-adic valuation,
         3 * [ 5-adic valuation, v(x + 3) = 1 ]-adic valuation]

  lift(F)

    Lift `F` from the `residue_field()` of this valuation into its domain.

    EXAMPLES:

    Sage

        sage: v = 3*ZZ.valuation(2)
        sage: v.lift(1)
        1

    Python

        >>> from sage.all import *
        >>> v = Integer(3)*ZZ.valuation(Integer(2))
        >>> v.lift(Integer(1))
        1

  reduce(f)

    Return the reduction of `f` in the `residue_field()` of this valuation.

    EXAMPLES:

    Sage

        sage: v = 3*ZZ.valuation(2)
        sage: v.reduce(1)
        1

    Python

        >>> from sage.all import *
        >>> v = Integer(3)*ZZ.valuation(Integer(2))
        >>> v.reduce(Integer(1))
        1

  residue_ring()

    Return the residue field of this valuation.

    EXAMPLES:

    Sage

        sage: v = 3*ZZ.valuation(2)
        sage: v.residue_ring()
        Finite Field of size 2

    Python

        >>> from sage.all import *
        >>> v = Integer(3)*ZZ.valuation(Integer(2))
        >>> v.residue_ring()
        Finite Field of size 2

  restriction(ring)

    Return the restriction of this valuation to `ring`.

    EXAMPLES:

    Sage

        sage: v = 3*QQ.valuation(5)
        sage: v.restriction(ZZ)
        3 * 5-adic valuation

    Python

        >>> from sage.all import *
        >>> v = Integer(3)*QQ.valuation(Integer(5))
        >>> v.restriction(ZZ)
        3 * 5-adic valuation

  uniformizer()

    Return a uniformizing element of this valuation.

    EXAMPLES:

    Sage

        sage: v = 3*ZZ.valuation(2)
        sage: v.uniformizer()
        2

    Python

        >>> from sage.all import *
        >>> v = Integer(3)*ZZ.valuation(Integer(2))
        >>> v.uniformizer()
        2

  value_semigroup()

    Return the value semigroup of this valuation.

    EXAMPLES:

    Sage

        sage: v2 = QQ.valuation(2)
        sage: (2*v2).value_semigroup()
        Additive Abelian Semigroup generated by -2, 2

    Python

        >>> from sage.all import *
        >>> v2 = QQ.valuation(Integer(2))
        >>> (Integer(2)*v2).value_semigroup()
        Additive Abelian Semigroup generated by -2, 2