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
class sage.rings.valuation.trivial_valuation.TrivialDiscretePseudoValuation(parent)#

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
lift(X)#

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
reduce(x)#

Reduce x modulo the positive elements of this valuation.

EXAMPLES:

sage: v = valuations.TrivialPseudoValuation(QQ)
sage: v.reduce(1)
0
residue_ring()#

Return the residue ring of this valuation.

EXAMPLES:

sage: valuations.TrivialPseudoValuation(QQ).residue_ring()
Quotient of Rational Field by the ideal (1)
value_group()#

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.
class sage.rings.valuation.trivial_valuation.TrivialDiscretePseudoValuation_base(parent)#

Bases: DiscretePseudoValuation

Base class for code shared by trivial valuations.

EXAMPLES:

sage: v = valuations.TrivialPseudoValuation(ZZ); v
Trivial pseudo-valuation on Integer Ring
is_negative_pseudo_valuation()#

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

EXAMPLES:

sage: v = valuations.TrivialPseudoValuation(QQ)
sage: v.is_negative_pseudo_valuation()
False
is_trivial()#

Return whether this valuation is trivial.

EXAMPLES:

sage: v = valuations.TrivialPseudoValuation(QQ)
sage: v.is_trivial()
True
uniformizer()#

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
class sage.rings.valuation.trivial_valuation.TrivialDiscreteValuation(parent)#

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
extensions(ring)#

Return the unique extension of this valuation to ring.

EXAMPLES:

sage: v = valuations.TrivialValuation(ZZ)
sage: v.extensions(QQ)
[Trivial valuation on Rational Field]
lift(X)#

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
reduce(x)#

Reduce x modulo the positive elements of this valuation.

EXAMPLES:

sage: v = valuations.TrivialValuation(QQ)
sage: v.reduce(1)
1
residue_ring()#

Return the residue ring of this valuation.

EXAMPLES:

sage: valuations.TrivialValuation(QQ).residue_ring()
Rational Field
value_group()#

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
class sage.rings.valuation.trivial_valuation.TrivialValuationFactory(clazz, parent, *args, **kwargs)#

Bases: UniqueFactory

Create a trivial valuation on domain.

EXAMPLES:

sage: v = valuations.TrivialValuation(QQ); v
Trivial valuation on Rational Field
sage: v(1)
0
create_key(domain)#

Create a key that identifies this valuation.

EXAMPLES:

sage: valuations.TrivialValuation(QQ) is valuations.TrivialValuation(QQ) # indirect doctest
True
create_object(version, key, **extra_args)#

Create a trivial valuation from key.

EXAMPLES:

sage: valuations.TrivialValuation(QQ) # indirect doctest
Trivial valuation on Rational Field