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