A common superclass for all extensions of Qp and Zp.
AUTHORS:
Bases: sage.rings.padics.padic_generic.pAdicGeneric
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))
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
Returns the fraction field of this extension, which is just the extension of base.fraction_field() determined by the same polynomial.
INPUT:
OUTPUT:
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
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
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
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
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))
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
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)