Trivial valuations#

AUTHORS:

  • Julian RĂ¼th (2016-10-14): initial version

EXAMPLES:

sage: v = valuations.TrivialValuation(QQ); v
Trivial valuation on Rational Field
sage: v(1)
0
>>> from sage.all import *
>>> v = valuations.TrivialValuation(QQ); v
Trivial valuation on Rational Field
>>> v(Integer(1))
0
class sage.rings.valuation.trivial_valuation.TrivialDiscretePseudoValuation(parent)[source]#

Bases: TrivialDiscretePseudoValuation_base, InfiniteDiscretePseudoValuation

The trivial pseudo-valuation that is \(\infty\) everywhere.

EXAMPLES:

sage: v = valuations.TrivialPseudoValuation(QQ); v
Trivial pseudo-valuation on Rational Field
>>> from sage.all import *
>>> v = valuations.TrivialPseudoValuation(QQ); v
Trivial pseudo-valuation on Rational Field
lift(X)[source]#

Return a lift of X to the domain of this valuation.

EXAMPLES:

sage: v = valuations.TrivialPseudoValuation(QQ)
sage: v.lift(v.residue_ring().zero())
0
>>> from sage.all import *
>>> v = valuations.TrivialPseudoValuation(QQ)
>>> v.lift(v.residue_ring().zero())
0
reduce(x)[source]#

Reduce x modulo the positive elements of this valuation.

EXAMPLES:

sage: v = valuations.TrivialPseudoValuation(QQ)
sage: v.reduce(1)
0
>>> from sage.all import *
>>> v = valuations.TrivialPseudoValuation(QQ)
>>> v.reduce(Integer(1))
0
residue_ring()[source]#

Return the residue ring of this valuation.

EXAMPLES:

sage: valuations.TrivialPseudoValuation(QQ).residue_ring()
Quotient of Rational Field by the ideal (1)
>>> from sage.all import *
>>> valuations.TrivialPseudoValuation(QQ).residue_ring()
Quotient of Rational Field by the ideal (1)
value_group()[source]#

Return the value group of this valuation.

EXAMPLES:

A trivial discrete pseudo-valuation has no value group:

sage: v = valuations.TrivialPseudoValuation(QQ)
sage: v.value_group()
Traceback (most recent call last):
...
ValueError: The trivial pseudo-valuation that is infinity everywhere does not have a value group.
>>> from sage.all import *
>>> v = valuations.TrivialPseudoValuation(QQ)
>>> v.value_group()
Traceback (most recent call last):
...
ValueError: The trivial pseudo-valuation that is infinity everywhere does not have a value group.
class sage.rings.valuation.trivial_valuation.TrivialDiscretePseudoValuation_base(parent)[source]#

Bases: DiscretePseudoValuation

Base class for code shared by trivial valuations.

EXAMPLES:

sage: v = valuations.TrivialPseudoValuation(ZZ); v
Trivial pseudo-valuation on Integer Ring
>>> from sage.all import *
>>> v = valuations.TrivialPseudoValuation(ZZ); v
Trivial pseudo-valuation on Integer Ring
is_negative_pseudo_valuation()[source]#

Return whether this valuation attains the value \(-\infty\).

EXAMPLES:

sage: v = valuations.TrivialPseudoValuation(QQ)
sage: v.is_negative_pseudo_valuation()
False
>>> from sage.all import *
>>> v = valuations.TrivialPseudoValuation(QQ)
>>> v.is_negative_pseudo_valuation()
False
is_trivial()[source]#

Return whether this valuation is trivial.

EXAMPLES:

sage: v = valuations.TrivialPseudoValuation(QQ)
sage: v.is_trivial()
True
>>> from sage.all import *
>>> v = valuations.TrivialPseudoValuation(QQ)
>>> v.is_trivial()
True
uniformizer()[source]#

Return a uniformizing element for this valuation.

EXAMPLES:

sage: v = valuations.TrivialPseudoValuation(ZZ)
sage: v.uniformizer()
Traceback (most recent call last):
...
ValueError: Trivial valuations do not define a uniformizing element
>>> from sage.all import *
>>> v = valuations.TrivialPseudoValuation(ZZ)
>>> v.uniformizer()
Traceback (most recent call last):
...
ValueError: Trivial valuations do not define a uniformizing element
class sage.rings.valuation.trivial_valuation.TrivialDiscreteValuation(parent)[source]#

Bases: TrivialDiscretePseudoValuation_base, DiscreteValuation

The trivial valuation that is zero on non-zero elements.

EXAMPLES:

sage: v = valuations.TrivialValuation(QQ); v
Trivial valuation on Rational Field
>>> from sage.all import *
>>> v = valuations.TrivialValuation(QQ); v
Trivial valuation on Rational Field
extensions(ring)[source]#

Return the unique extension of this valuation to ring.

EXAMPLES:

sage: v = valuations.TrivialValuation(ZZ)
sage: v.extensions(QQ)
[Trivial valuation on Rational Field]
>>> from sage.all import *
>>> v = valuations.TrivialValuation(ZZ)
>>> v.extensions(QQ)
[Trivial valuation on Rational Field]
lift(X)[source]#

Return a lift of X to the domain of this valuation.

EXAMPLES:

sage: v = valuations.TrivialValuation(QQ)
sage: v.lift(v.residue_ring().zero())
0
>>> from sage.all import *
>>> v = valuations.TrivialValuation(QQ)
>>> v.lift(v.residue_ring().zero())
0
reduce(x)[source]#

Reduce x modulo the positive elements of this valuation.

EXAMPLES:

sage: v = valuations.TrivialValuation(QQ)
sage: v.reduce(1)
1
>>> from sage.all import *
>>> v = valuations.TrivialValuation(QQ)
>>> v.reduce(Integer(1))
1
residue_ring()[source]#

Return the residue ring of this valuation.

EXAMPLES:

sage: valuations.TrivialValuation(QQ).residue_ring()
Rational Field
>>> from sage.all import *
>>> valuations.TrivialValuation(QQ).residue_ring()
Rational Field
value_group()[source]#

Return the value group of this valuation.

EXAMPLES:

A trivial discrete valuation has a trivial value group:

sage: v = valuations.TrivialValuation(QQ)
sage: v.value_group()
Trivial Additive Abelian Group
>>> from sage.all import *
>>> v = valuations.TrivialValuation(QQ)
>>> v.value_group()
Trivial Additive Abelian Group
class sage.rings.valuation.trivial_valuation.TrivialValuationFactory(clazz, parent, *args, **kwargs)[source]#

Bases: UniqueFactory

Create a trivial valuation on domain.

EXAMPLES:

sage: v = valuations.TrivialValuation(QQ); v
Trivial valuation on Rational Field
sage: v(1)
0
>>> from sage.all import *
>>> v = valuations.TrivialValuation(QQ); v
Trivial valuation on Rational Field
>>> v(Integer(1))
0
create_key(domain)[source]#

Create a key that identifies this valuation.

EXAMPLES:

sage: valuations.TrivialValuation(QQ) is valuations.TrivialValuation(QQ) # indirect doctest
True
>>> from sage.all import *
>>> valuations.TrivialValuation(QQ) is valuations.TrivialValuation(QQ) # indirect doctest
True
create_object(version, key, **extra_args)[source]#

Create a trivial valuation from key.

EXAMPLES:

sage: valuations.TrivialValuation(QQ) # indirect doctest
Trivial valuation on Rational Field
>>> from sage.all import *
>>> valuations.TrivialValuation(QQ) # indirect doctest
Trivial valuation on Rational Field