Complete Discrete Valuation Rings (CDVR) and Fields (CDVF)¶
-
class
sage.categories.complete_discrete_valuation.
CompleteDiscreteValuationFields
(s=None)¶ Bases:
sage.categories.category_singleton.Category_singleton
The category of complete discrete valuation fields
EXAMPLES:
sage: Zp(7) in CompleteDiscreteValuationFields() False sage: QQ in CompleteDiscreteValuationFields() False sage: LaurentSeriesRing(QQ,'u') in CompleteDiscreteValuationFields() True sage: Qp(7) in CompleteDiscreteValuationFields() True sage: TestSuite(CompleteDiscreteValuationFields()).run()
-
class
ElementMethods
¶ Bases:
object
-
denominator
()¶ Return the denominator of this element normalized as a power of the uniformizer
EXAMPLES:
sage: K = Qp(7) sage: x = K(1/21) sage: x.denominator() 7 + O(7^21) sage: x = K(7) sage: x.denominator() 1 + O(7^20)
Note that the denominator lives in the ring of integers:
sage: x.denominator().parent() 7-adic Ring with capped relative precision 20
When the denominator is indistinguishable from 0 and the precision on the input is \(O(p^n)\), the return value is \(1\) if \(n\) is nonnegative and \(p^(-n)\) otherwise:
sage: x = K(0,5); x O(7^5) sage: x.denominator() 1 + O(7^20) sage: x = K(0,-5); x O(7^-5) sage: x.denominator() 7^5 + O(7^25)
-
numerator
()¶ Return the numerator of this element, normalized in such a way that \(x = x.numerator() / x.denominator()\) always holds true.
EXAMPLES:
sage: K = Qp(7, 5) sage: x = K(1/21) sage: x.numerator() 5 + 4*7 + 4*7^2 + 4*7^3 + 4*7^4 + O(7^5) sage: x == x.numerator() / x.denominator() True
Note that the numerator lives in the ring of integers:
sage: x.numerator().parent() 7-adic Ring with capped relative precision 5
-
valuation
()¶ Return the valuation of this element.
EXAMPLES:
sage: K = Qp(7) sage: x = K(7); x 7 + O(7^21) sage: x.valuation() 1
-
-
super_categories
()¶ EXAMPLES:
sage: CompleteDiscreteValuationFields().super_categories() [Category of discrete valuation fields]
-
class
-
class
sage.categories.complete_discrete_valuation.
CompleteDiscreteValuationRings
(s=None)¶ Bases:
sage.categories.category_singleton.Category_singleton
The category of complete discrete valuation rings
EXAMPLES:
sage: Zp(7) in CompleteDiscreteValuationRings() True sage: QQ in CompleteDiscreteValuationRings() False sage: QQ[['u']] in CompleteDiscreteValuationRings() True sage: Qp(7) in CompleteDiscreteValuationRings() False sage: TestSuite(CompleteDiscreteValuationRings()).run()
-
class
ElementMethods
¶ Bases:
object
-
denominator
()¶ Return the denominator of this element normalized as a power of the uniformizer
EXAMPLES:
sage: K = Qp(7) sage: x = K(1/21) sage: x.denominator() 7 + O(7^21) sage: x = K(7) sage: x.denominator() 1 + O(7^20)
Note that the denominator lives in the ring of integers:
sage: x.denominator().parent() 7-adic Ring with capped relative precision 20
When the denominator is indistinguishable from 0 and the precision on the input is \(O(p^n)\), the return value is \(1\) if \(n\) is nonnegative and \(p^(-n)\) otherwise:
sage: x = K(0,5); x O(7^5) sage: x.denominator() 1 + O(7^20) sage: x = K(0,-5); x O(7^-5) sage: x.denominator() 7^5 + O(7^25)
-
lift_to_precision
(absprec=None)¶ Return another element of the same parent with absolute precision at least
absprec
, congruent to this element modulo the precision of this element.INPUT:
absprec
– an integer orNone
(default:None
), the absolute precision of the result. IfNone
, lifts to the maximum precision allowed.
Note
If setting
absprec
that high would violate the precision cap, raises a precision error. Note that the new digits will not necessarily be zero.EXAMPLES:
sage: R = ZpCA(17) sage: R(-1,2).lift_to_precision(10) 16 + 16*17 + O(17^10) sage: R(1,15).lift_to_precision(10) 1 + O(17^15) sage: R(1,15).lift_to_precision(30) Traceback (most recent call last): ... PrecisionError: Precision higher than allowed by the precision cap. sage: R(-1,2).lift_to_precision().precision_absolute() == R.precision_cap() True sage: R = Zp(5); c = R(17,3); c.lift_to_precision(8) 2 + 3*5 + O(5^8) sage: c.lift_to_precision().precision_relative() == R.precision_cap() True
-
numerator
()¶ Return the numerator of this element, normalized in such a way that \(x = x.numerator() / x.denominator()\) always holds true.
EXAMPLES:
sage: K = Qp(7, 5) sage: x = K(1/21) sage: x.numerator() 5 + 4*7 + 4*7^2 + 4*7^3 + 4*7^4 + O(7^5) sage: x == x.numerator() / x.denominator() True
Note that the numerator lives in the ring of integers:
sage: x.numerator().parent() 7-adic Ring with capped relative precision 5
-
valuation
()¶ Return the valuation of this element.
EXAMPLES:
sage: R = Zp(7) sage: x = R(7); x 7 + O(7^21) sage: x.valuation() 1
-
-
super_categories
()¶ EXAMPLES:
sage: CompleteDiscreteValuationRings().super_categories() [Category of discrete valuation rings]
-
class