p-Adic Extension Generic¶
A common superclass for all extensions of Qp and Zp.
AUTHORS:
- David Roe
-
class
sage.rings.padics.padic_extension_generic.
pAdicExtensionGeneric
(poly, prec, print_mode, names, element_class)¶ Bases:
sage.rings.padics.padic_generic.pAdicGeneric
Initialization
EXAMPLES:
sage: R = Zp(5,5) sage: S.<x> = R[] sage: f = x^5 + 75*x^3 - 15*x^2 +125*x - 5 sage: W.<w> = R.ext(f) #indirect doctest
-
defining_polynomial
()¶ Returns the polynomial defining this extension.
EXAMPLES:
sage: R = Zp(5,5) sage: S.<x> = R[] sage: f = x^5 + 75*x^3 - 15*x^2 +125*x - 5 sage: W.<w> = R.ext(f) sage: W.defining_polynomial() (1 + O(5^5))*x^5 + (O(5^6))*x^4 + (3*5^2 + O(5^6))*x^3 + (2*5 + 4*5^2 + 4*5^3 + 4*5^4 + 4*5^5 + O(5^6))*x^2 + (5^3 + O(5^6))*x + (4*5 + 4*5^2 + 4*5^3 + 4*5^4 + 4*5^5 + O(5^6))
-
degree
()¶ Returns the degree of this extension.
EXAMPLES:
sage: R.<a> = Zq(125); R.degree() 3 sage: R = Zp(5); S.<x> = ZZ[]; f = x^5 - 25*x^3 + 5; W.<w> = R.ext(f) sage: W.degree() 5
-
fraction_field
(print_mode=None)¶ Returns the fraction field of this extension, which is just the extension of base.fraction_field() determined by the same polynomial.
INPUT:
- print_mode – a dictionary containing print options. Defaults to the same options as this ring.
OUTPUT:
- the fraction field of self.
EXAMPLES:
sage: U.<a> = Zq(17^4, 6, print_mode='val-unit', print_max_terse_terms=3) sage: U.fraction_field() Unramified Extension of 17-adic Field with capped relative precision 6 in a defined by (1 + O(17^6))*x^4 + (O(17^6))*x^3 + (7 + O(17^6))*x^2 + (10 + O(17^6))*x + (3 + O(17^6)) sage: U.fraction_field({"pos":False}) == U.fraction_field() False
-
ground_ring
()¶ Returns the ring of which this ring is an extension.
EXAMPLE:
sage: R = Zp(5,5) sage: S.<x> = R[] sage: f = x^5 + 75*x^3 - 15*x^2 +125*x - 5 sage: W.<w> = R.ext(f) sage: W.ground_ring() 5-adic Ring with capped relative precision 5
-
ground_ring_of_tower
()¶ Returns the p-adic base ring of which this is ultimately an extension.
Currently this function is identical to ground_ring(), since relative extensions have not yet been implemented.
EXAMPLES:
sage: Qq(27,30,names='a').ground_ring_of_tower() 3-adic Field with capped relative precision 30
-
integer_ring
(print_mode=None)¶ Returns the ring of integers of self, which is just the extension of base.integer_ring() determined by the same polynomial.
INPUT:
- print_mode – a dictionary containing print options. Defaults to the same options as this ring.
OUTPUT:
- the ring of elements of self with nonnegative valuation.
EXAMPLES:
sage: U.<a> = Qq(17^4, 6, print_mode='val-unit', print_max_terse_terms=3) sage: U.integer_ring() Unramified Extension of 17-adic Ring with capped relative precision 6 in a defined by (1 + O(17^6))*x^4 + (O(17^6))*x^3 + (7 + O(17^6))*x^2 + (10 + O(17^6))*x + (3 + O(17^6)) sage: U.fraction_field({"pos":False}) == U.fraction_field() False
-
modulus
()¶ Returns the polynomial defining this extension.
EXAMPLES:
sage: R = Zp(5,5) sage: S.<x> = R[] sage: f = x^5 + 75*x^3 - 15*x^2 +125*x - 5 sage: W.<w> = R.ext(f) sage: W.modulus() (1 + O(5^5))*x^5 + (O(5^6))*x^4 + (3*5^2 + O(5^6))*x^3 + (2*5 + 4*5^2 + 4*5^3 + 4*5^4 + 4*5^5 + O(5^6))*x^2 + (5^3 + O(5^6))*x + (4*5 + 4*5^2 + 4*5^3 + 4*5^4 + 4*5^5 + O(5^6))
-
polynomial_ring
()¶ Returns the polynomial ring of which this is a quotient.
EXAMPLES:
sage: Qq(27,30,names='a').polynomial_ring() Univariate Polynomial Ring in x over 3-adic Field with capped relative precision 30
-
random_element
()¶ Returns a random element of self.
This is done by picking a random element of the ground ring self.degree() times, then treating those elements as coefficients of a polynomial in self.gen().
EXAMPLES:
sage: R.<a> = Zq(125, 5); R.random_element() 3*a + (2*a + 1)*5 + (4*a^2 + 3*a + 4)*5^2 + (a^2 + 2*a)*5^3 + (a + 2)*5^4 + O(5^5) sage: R = Zp(5,3); S.<x> = ZZ[]; f = x^5 + 25*x^2 - 5; W.<w> = R.ext(f) sage: W.random_element() 3 + 4*w + 3*w^2 + w^3 + 4*w^4 + w^5 + w^6 + 3*w^7 + w^8 + 2*w^10 + 4*w^11 + w^12 + 2*w^13 + 4*w^14 + O(w^15)
-