Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
# -*- coding: utf-8 -*- 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
""" #***************************************************************************** # Copyright (C) 2016-2017 Julian Rüth <julian.rueth@fsfe.org> # # Distributed under the terms of the GNU General Public License (GPL) # as published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # http://www.gnu.org/licenses/ #*****************************************************************************
r""" Create a trivial valuation on ``domain``.
EXAMPLES::
sage: v = valuations.TrivialValuation(QQ); v Trivial valuation on Rational Field sage: v(1) 0
""" r""" TESTS::
sage: from sage.rings.valuation.trivial_valuation import TrivialValuationFactory sage: isinstance(valuations.TrivialValuation, TrivialValuationFactory) True
"""
r""" Create a key that identifies this valuation.
EXAMPLES::
sage: valuations.TrivialValuation(QQ) is valuations.TrivialValuation(QQ) # indirect doctest True
"""
r""" Create a trivial valuation from ``key``.
EXAMPLES::
sage: valuations.TrivialValuation(QQ) # indirect doctest Trivial valuation on Rational Field
"""
r""" Base class for code shared by trivial valuations.
EXAMPLES::
sage: v = valuations.TrivialPseudoValuation(ZZ); v Trivial pseudo-valuation on Integer Ring
TESTS::
sage: TestSuite(v).run() # long time
""" r""" 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
"""
r""" Return whether this valuation is trivial.
EXAMPLES::
sage: v = valuations.TrivialPseudoValuation(QQ) sage: v.is_trivial() True
"""
r""" Return whether this valuatios attains the value `-\infty`.
EXAMPLES::
sage: v = valuations.TrivialPseudoValuation(QQ) sage: v.is_negative_pseudo_valuation() False
"""
r""" The trivial pseudo-valuation that is `\infty` everywhere.
EXAMPLES::
sage: v = valuations.TrivialPseudoValuation(QQ); v Trivial pseudo-valuation on Rational Field
TESTS::
sage: TestSuite(v).run() # long time
""" r""" TESTS::
sage: from sage.rings.valuation.trivial_valuation import TrivialDiscretePseudoValuation sage: v = valuations.TrivialPseudoValuation(QQ) sage: isinstance(v, TrivialDiscretePseudoValuation) True
"""
r""" Evaluate this valuation at ``x``.
EXAMPLES::
sage: v = valuations.TrivialPseudoValuation(QQ) sage: v(0) +Infinity sage: v(1) +Infinity
"""
r""" Return a printable representation of this valuation.
EXAMPLES::
sage: valuations.TrivialPseudoValuation(QQ) # indirect doctest Trivial pseudo-valuation on Rational Field
"""
r""" 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.
"""
r""" Return the residue ring of this valuation.
EXAMPLES::
sage: valuations.TrivialPseudoValuation(QQ).residue_ring() Quotient of Rational Field by the ideal (1)
"""
r""" Reduce ``x`` modulo the positive elements of this valuation.
EXAMPLES::
sage: v = valuations.TrivialPseudoValuation(QQ) sage: v.reduce(1) 0
"""
r""" 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
"""
r""" Return whether this valuation is bigger or equal than ``other`` everywhere.
EXAMPLES::
sage: v = valuations.TrivialPseudoValuation(QQ) sage: w = valuations.TrivialValuation(QQ) sage: v >= w True
""" # the trivial discrete valuation is the biggest valuation
r""" The trivial valuation that is zero on non-zero elements.
EXAMPLES::
sage: v = valuations.TrivialValuation(QQ); v Trivial valuation on Rational Field
TESTS::
sage: TestSuite(v).run() # long time
""" r""" TESTS::
sage: from sage.rings.valuation.trivial_valuation import TrivialDiscreteValuation sage: v = valuations.TrivialValuation(QQ) sage: isinstance(v, TrivialDiscreteValuation) True
"""
r""" Evaluate this valuation at ``x``.
EXAMPLES::
sage: v = valuations.TrivialValuation(QQ) sage: v(0) +Infinity sage: v(1) 0
"""
r""" Return a printable representation of this valuation.
EXAMPLES::
sage: valuations.TrivialValuation(QQ) # indirect doctest Trivial valuation on Rational Field
"""
r""" 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
"""
r""" Return the residue ring of this valuation.
EXAMPLES::
sage: valuations.TrivialValuation(QQ).residue_ring() Rational Field
"""
r""" Reduce ``x`` modulo the positive elements of this valuation.
EXAMPLES::
sage: v = valuations.TrivialValuation(QQ) sage: v.reduce(1) 1
"""
r""" 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
"""
r""" Return the unique extension of this valuation to ``ring``.
EXAMPLES::
sage: v = valuations.TrivialValuation(ZZ) sage: v.extensions(QQ) [Trivial valuation on Rational Field]
""" return super(DiscretePseudoValuation, self).extensions(ring)
r""" Return whether this valuation is bigger or equal than ``other`` everywhere.
EXAMPLES::
sage: v = valuations.TrivialPseudoValuation(QQ) sage: w = valuations.TrivialValuation(QQ) sage: w >= v False
""" # the trivial discrete valuation is the smallest valuation return True
|