Valuations which are scaled versions of another valuation

EXAMPLES:

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

AUTHORS:

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

class sage.rings.valuation.scaled_valuation.ScaledValuationFactory[source]

Bases: UniqueFactory

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

EXAMPLES:

sage: 3*ZZ.valuation(2) # indirect doctest
3 * 2-adic valuation
>>> from sage.all import *
>>> Integer(3)*ZZ.valuation(Integer(2)) # indirect doctest
3 * 2-adic valuation
3*ZZ.valuation(2) # indirect doctest
create_key(base, s)[source]

Create a key which uniquely identifies a valuation.

create_object(version, key)[source]

Create a valuation from key.

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

Bases: DiscreteValuation

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

EXAMPLES:

sage: v = 3*ZZ.valuation(3); v
3 * 3-adic valuation
>>> from sage.all import *
>>> v = Integer(3)*ZZ.valuation(Integer(3)); v
3 * 3-adic valuation
v = 3*ZZ.valuation(3); v
extensions(ring)[source]

Return the extensions of this valuation to ring.

EXAMPLES:

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]
>>> 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]
v = 3*ZZ.valuation(5)
v.extensions(GaussianIntegers().fraction_field())                     # needs sage.rings.number_field
lift(F)[source]

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

EXAMPLES:

sage: v = 3*ZZ.valuation(2)
sage: v.lift(1)
1
>>> from sage.all import *
>>> v = Integer(3)*ZZ.valuation(Integer(2))
>>> v.lift(Integer(1))
1
v = 3*ZZ.valuation(2)
v.lift(1)
reduce(f)[source]

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

EXAMPLES:

sage: v = 3*ZZ.valuation(2)
sage: v.reduce(1)
1
>>> from sage.all import *
>>> v = Integer(3)*ZZ.valuation(Integer(2))
>>> v.reduce(Integer(1))
1
v = 3*ZZ.valuation(2)
v.reduce(1)
residue_ring()[source]

Return the residue field of this valuation.

EXAMPLES:

sage: v = 3*ZZ.valuation(2)
sage: v.residue_ring()
Finite Field of size 2
>>> from sage.all import *
>>> v = Integer(3)*ZZ.valuation(Integer(2))
>>> v.residue_ring()
Finite Field of size 2
v = 3*ZZ.valuation(2)
v.residue_ring()
restriction(ring)[source]

Return the restriction of this valuation to ring.

EXAMPLES:

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

Return a uniformizing element of this valuation.

EXAMPLES:

sage: v = 3*ZZ.valuation(2)
sage: v.uniformizer()
2
>>> from sage.all import *
>>> v = Integer(3)*ZZ.valuation(Integer(2))
>>> v.uniformizer()
2
v = 3*ZZ.valuation(2)
v.uniformizer()
value_semigroup()[source]

Return the value semigroup of this valuation.

EXAMPLES:

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