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
v = valuations.TrivialValuation(QQ); v v(1)
- class sage.rings.valuation.trivial_valuation.TrivialDiscretePseudoValuation(parent)#
Bases:
TrivialDiscretePseudoValuation_base
,InfiniteDiscretePseudoValuation
The trivial pseudo-valuation that is
everywhere.EXAMPLES:
sage: v = valuations.TrivialPseudoValuation(QQ); v Trivial pseudo-valuation on Rational Field
v = valuations.TrivialPseudoValuation(QQ); v
- 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
v = valuations.TrivialPseudoValuation(QQ) v.lift(v.residue_ring().zero())
- reduce(x)#
Reduce
x
modulo the positive elements of this valuation.EXAMPLES:
sage: v = valuations.TrivialPseudoValuation(QQ) sage: v.reduce(1) 0
v = valuations.TrivialPseudoValuation(QQ) v.reduce(1)
- residue_ring()#
Return the residue ring of this valuation.
EXAMPLES:
sage: valuations.TrivialPseudoValuation(QQ).residue_ring() Quotient of Rational Field by the ideal (1)
valuations.TrivialPseudoValuation(QQ).residue_ring()
- 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.
v = valuations.TrivialPseudoValuation(QQ) v.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
v = valuations.TrivialPseudoValuation(ZZ); v
- is_negative_pseudo_valuation()#
Return whether this valuation attains the value
.EXAMPLES:
sage: v = valuations.TrivialPseudoValuation(QQ) sage: v.is_negative_pseudo_valuation() False
v = valuations.TrivialPseudoValuation(QQ) v.is_negative_pseudo_valuation()
- is_trivial()#
Return whether this valuation is trivial.
EXAMPLES:
sage: v = valuations.TrivialPseudoValuation(QQ) sage: v.is_trivial() True
v = valuations.TrivialPseudoValuation(QQ) v.is_trivial()
- 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
v = valuations.TrivialPseudoValuation(ZZ) v.uniformizer()
- 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
v = valuations.TrivialValuation(QQ); v
- 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]
v = valuations.TrivialValuation(ZZ) v.extensions(QQ)
- 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
v = valuations.TrivialValuation(QQ) v.lift(v.residue_ring().zero())
- reduce(x)#
Reduce
x
modulo the positive elements of this valuation.EXAMPLES:
sage: v = valuations.TrivialValuation(QQ) sage: v.reduce(1) 1
v = valuations.TrivialValuation(QQ) v.reduce(1)
- residue_ring()#
Return the residue ring of this valuation.
EXAMPLES:
sage: valuations.TrivialValuation(QQ).residue_ring() Rational Field
valuations.TrivialValuation(QQ).residue_ring()
- 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
v = valuations.TrivialValuation(QQ) v.value_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
v = valuations.TrivialValuation(QQ); v v(1)
- create_key(domain)#
Create a key that identifies this valuation.
EXAMPLES:
sage: valuations.TrivialValuation(QQ) is valuations.TrivialValuation(QQ) # indirect doctest True
valuations.TrivialValuation(QQ) is valuations.TrivialValuation(QQ) # indirect doctest
- create_object(version, key, **extra_args)#
Create a trivial valuation from
key
.EXAMPLES:
sage: valuations.TrivialValuation(QQ) # indirect doctest Trivial valuation on Rational Field
valuations.TrivialValuation(QQ) # indirect doctest