The final classes for extensions of Zp and Qp (ie classes that are not just designed to be inherited from).
AUTHORS:
TESTS:
sage: R = Qp(3, 10000, print_pos=False); S.<x> = ZZ[]; f = x^3 + 9*x - 3
sage: W.<w> = R.ext(f); W == loads(dumps(W))
True
A capped relative representation of an eisenstein extension of Qp.
INPUTS:
- prepoly -- The original polynomial defining the
extension. This could be a polynomial with integer
coefficients, for example, while poly has coefficients
in Qp.
- poly -- The polynomial with coefficients in
self.base_ring() defining this extension.
- prec -- The precision cap of this ring.
- halt -- unused
- print_mode -- A dictionary of print options.
- shift_seed -- unused
- names -- a 4-tuple, (variable_name, residue_name, unramified_subextension_variable_name, uniformizer_name)
EXAMPLES:
sage: R = Qp(3, 10000, print_pos=False); S.<x> = ZZ[]; f = x^3 + 9*x - 3
sage: W.<w> = R.ext(f); W #indirect doctest
Eisenstein Extension of 3-adic Field with capped relative precision 10000 in w defined by (1 + O(3^10000))*x^3 + (O(3^10001))*x^2 + (3^2 + O(3^10001))*x + (-3 + O(3^10001))
sage: W.precision_cap()
30000
sage: R.<p> = Qp(next_prime(10^30), 3, print_pos=False); S.<x> = ZZ[]; f = x^3 + p^2*x - p
sage: W.<w> = R.ext(f); W.prime()
1000000000000000000000000000057
sage: W.precision_cap()
9
TESTS:
sage: R = ZpCA(3, 10000, print_pos=False); S.<x> = ZZ[]; f = x^3 + 9*x - 3
sage: W.<w> = R.ext(f); W == loads(dumps(W))
True
A capped absolute representation of an eisenstein extension of Zp.
INPUTS:
- prepoly -- The original polynomial defining the
extension. This could be a polynomial with integer
coefficients, for example, while poly has coefficients
in Zp.
- poly -- The polynomial with coefficients in
self.base_ring() defining this extension.
- prec -- The precision cap of this ring.
- halt -- unused
- print_mode -- A dictionary of print options.
- shift_seed -- unused
- names -- a 4-tuple, (variable_name, residue_name, unramified_subextension_variable_name, uniformizer_name)
EXAMPLES:
sage: R = ZpCA(3, 10000, print_pos=False); S.<x> = ZZ[]; f = x^3 + 9*x - 3
sage: W.<w> = R.ext(f); W #indirect doctest
Eisenstein Extension of 3-adic Ring with capped absolute precision 10000 in w defined by (1 + O(3^10000))*x^3 + (3^2 + O(3^10000))*x + (-3 + 3^10000 + O(3^10000))
sage: W.precision_cap()
30000
sage: R.<p> = ZpCA(next_prime(10^30), 3, print_pos=False); S.<x> = ZZ[]; f = x^3 + p^2*x - p
sage: W.<w> = R.ext(f); W.prime()
1000000000000000000000000000057
sage: W.precision_cap()
6
TESTS:
sage: R = Zp(3, 10000, print_pos=False); S.<x> = ZZ[]; f = x^3 + 9*x - 3
sage: W.<w> = R.ext(f); W == loads(dumps(W))
True
A capped relative representation of an eisenstein extension of Zp.
INPUTS:
- prepoly -- The original polynomial defining the
extension. This could be a polynomial with integer
coefficients, for example, while poly has coefficients
in Zp.
- poly -- The polynomial with coefficients in
self.base_ring() defining this extension.
- prec -- The precision cap of this ring.
- halt -- unused
- print_mode -- A dictionary of print options.
- shift_seed -- unused
- names -- a 4-tuple, (variable_name, residue_name, unramified_subextension_variable_name, uniformizer_name)
EXAMPLES:
sage: R = Zp(3, 10000, print_pos=False); S.<x> = ZZ[]; f = x^3 + 9*x - 3
sage: W.<w> = R.ext(f); W #indirect doctest
Eisenstein Extension of 3-adic Ring with capped relative precision 10000 in w defined by (1 + O(3^10000))*x^3 + (O(3^10001))*x^2 + (3^2 + O(3^10001))*x + (-3 + O(3^10001))
sage: W.precision_cap()
30000
sage: R.<p> = Zp(next_prime(10^30), 3, print_pos=False); S.<x> = ZZ[]; f = x^3 + p^2*x - p
sage: W.<w> = R.ext(f); W.prime()
1000000000000000000000000000057
sage: W.precision_cap()
9
TESTS:
sage: R = ZpFM(3, 10000, print_pos=False); S.<x> = ZZ[]; f = x^3 + 9*x - 3
sage: W.<w> = R.ext(f); W == loads(dumps(W))
True
A fixed modulus representation of an eisenstein extension of Zp.
INPUTS:
- prepoly -- The original polynomial defining the
extension. This could be a polynomial with integer
coefficients, for example, while poly has coefficients
in Zp.
- poly -- The polynomial with coefficients in
self.base_ring() defining this extension.
- prec -- The precision cap of this ring.
- halt -- unused
- print_mode -- A dictionary of print options.
- shift_seed -- unused
- names -- a 4-tuple, (variable_name, residue_name, unramified_subextension_variable_name, uniformizer_name)
EXAMPLES:
sage: R = ZpFM(3, 10000, print_pos=False); S.<x> = ZZ[]; f = x^3 + 9*x - 3
sage: W.<w> = R.ext(f); W #indirect doctest
Eisenstein Extension of 3-adic Ring of fixed modulus 3^10000 in w defined by (1 + O(3^10000))*x^3 + (3^2 + O(3^10000))*x + (-3 + 3^10000 + O(3^10000))
sage: W.precision_cap()
30000
sage: R.<p> = ZpFM(next_prime(10^30), 3, print_pos=False); S.<x> = ZZ[]; f = x^3 + p^2*x - p
sage: W.<w> = R.ext(f); W.prime()
1000000000000000000000000000057
sage: W.precision_cap()
9
TESTS:
sage: R.<a> = QqCR(27,10000); R == loads(dumps(R))
True
A representation of Qq.
INPUTS:
- prepoly -- The original polynomial defining the
extension. This could be a polynomial with integer
coefficients, for example, while poly has coefficients
in Qp.
- poly -- The polynomial with coefficients in
self.base_ring() defining this extension.
- prec -- The precision cap of this ring.
- halt -- unused
- print_mode -- A dictionary of print options.
- shift_seed -- unused
- names -- a 4-tuple, (variable_name, residue_name, unramified_subextension_variable_name, uniformizer_name)
EXAMPLES:
sage: R.<a> = Qq(27,10000); R #indirect doctest
Unramified Extension of 3-adic Field with capped relative precision 10000 in a defined by (1 + O(3^10000))*x^3 + (O(3^10000))*x^2 + (2 + O(3^10000))*x + (1 + O(3^10000))
sage: R.<a> = Qq(next_prime(10^30)^3, 3); R.prime()
1000000000000000000000000000057
TESTS:
sage: R.<a> = ZqCA(27,10000); R == loads(dumps(R))
True
A capped absolute representation of Zq.
INPUTS:
- prepoly -- The original polynomial defining the
extension. This could be a polynomial with integer
coefficients, for example, while poly has coefficients
in Zp.
- poly -- The polynomial with coefficients in
self.base_ring() defining this extension.
- prec -- The precision cap of this ring.
- halt -- unused
- print_mode -- A dictionary of print options.
- shift_seed -- unused
- names -- a 4-tuple, (variable_name, residue_name, unramified_subextension_variable_name, uniformizer_name)
EXAMPLES:
sage: R.<a> = ZqCA(27,10000); R #indirect doctest
Unramified Extension of 3-adic Ring with capped absolute precision 10000 in a defined by (1 + O(3^10000))*x^3 + (2 + O(3^10000))*x + (1 + O(3^10000))
sage: R.<a> = ZqCA(next_prime(10^30)^3, 3); R.prime()
1000000000000000000000000000057
TESTS:
sage: R.<a> = ZqCR(27,10000); R == loads(dumps(R))
True
A capped relative representation of Zq.
INPUTS:
- prepoly -- The original polynomial defining the
extension. This could be a polynomial with integer
coefficients, for example, while poly has coefficients
in Zp.
- poly -- The polynomial with coefficients in
self.base_ring() defining this extension.
- prec -- The precision cap of this ring.
- halt -- unused
- print_mode -- A dictionary of print options.
- shift_seed -- unused
- names -- a 4-tuple, (variable_name, residue_name, unramified_subextension_variable_name, uniformizer_name)
EXAMPLES:
sage: R.<a> = ZqCR(27,10000); R #indirect doctest
Unramified Extension of 3-adic Ring with capped relative precision 10000 in a defined by (1 + O(3^10000))*x^3 + (O(3^10000))*x^2 + (2 + O(3^10000))*x + (1 + O(3^10000))
sage: R.<a> = ZqCR(next_prime(10^30)^3, 3); R.prime()
1000000000000000000000000000057
TESTS:
sage: R.<a> = ZqFM(27,10000); R == loads(dumps(R))
True
A fixed modulus representation of Zq.
INPUTS:
- prepoly -- The original polynomial defining the
extension. This could be a polynomial with integer
coefficients, for example, while poly has coefficients
in Qp.
- poly -- The polynomial with coefficients in
self.base_ring() defining this extension.
- prec -- The precision cap of this ring.
- halt -- unused
- print_mode -- A dictionary of print options.
- shift_seed -- unused
- names -- a 4-tuple, (variable_name, residue_name, unramified_subextension_variable_name, uniformizer_name)
EXAMPLES:
sage: R.<a> = ZqFM(27,10000); R #indirect doctest
Unramified Extension of 3-adic Ring of fixed modulus 3^10000 in a defined by (1 + O(3^10000))*x^3 + (2 + O(3^10000))*x + (1 + O(3^10000))
sage: R.<a> = ZqFM(next_prime(10^30)^3, 3); R.prime()
1000000000000000000000000000057