Unramified Extension Generic#
This file implements the shared functionality for unramified extensions.
AUTHORS:
David Roe
- class sage.rings.padics.unramified_extension_generic.UnramifiedExtensionGeneric(poly, prec, print_mode, names, element_class)#
Bases:
pAdicExtensionGeneric
An unramified extension of Qp or Zp.
- absolute_f()#
Return the degree of the residue field of this ring/field over its prime subfield
EXAMPLES:
sage: K.<a> = Qq(3^5) sage: K.absolute_f() 5 sage: L.<pi> = Qp(3).extension(x^2 - 3) sage: L.absolute_f() 1
- discriminant(K=None)#
Returns the discriminant of self over the subring K.
INPUT:
K – a subring/subfield (defaults to the base ring).
EXAMPLES:
sage: R.<a> = Zq(125) sage: R.discriminant() Traceback (most recent call last): ... NotImplementedError
- gen(n=0)#
Returns a generator for this unramified extension.
This is an element that satisfies the polynomial defining this extension. Such an element will reduce to a generator of the corresponding residue field extension.
EXAMPLES:
sage: R.<a> = Zq(125); R.gen() a + O(5^20)
- has_pth_root()#
Returns whether or not \(\ZZ_p\) has a primitive \(p^{\mbox{th}}\) root of unity.
Since adjoining a \(p^{\mbox{th}}\) root of unity yields a totally ramified extension, self will contain one if and only if the ground ring does.
INPUT:
self – a p-adic ring
OUTPUT:
boolean – whether self has primitive \(p^{\mbox{th}}\) root of unity.
EXAMPLES:
sage: R.<a> = Zq(1024); R.has_pth_root() True sage: R.<a> = Zq(17^5); R.has_pth_root() False
- has_root_of_unity(n)#
Return whether or not \(\ZZ_p\) has a primitive \(n^{\mbox{th}}\) root of unity.
INPUT:
self
– a p-adic ringn
– an integer
OUTPUT:
boolean
EXAMPLES:
sage: R.<a> = Zq(37^8) sage: R.has_root_of_unity(144) True sage: R.has_root_of_unity(89) True sage: R.has_root_of_unity(11) False
- is_galois(K=None)#
Returns True if this extension is Galois.
Every unramified extension is Galois.
INPUT:
K – a subring/subfield (defaults to the base ring).
EXAMPLES:
sage: R.<a> = Zq(125); R.is_galois() True
- residue_class_field()#
Returns the residue class field.
EXAMPLES:
sage: R.<a> = Zq(125); R.residue_class_field() Finite Field in a0 of size 5^3
- residue_ring(n)#
Return the quotient of the ring of integers by the nth power of its maximal ideal.
EXAMPLES:
sage: R.<a> = Zq(125) sage: R.residue_ring(1) Finite Field in a0 of size 5^3
The following requires implementing more general Artinian rings:
sage: R.residue_ring(2) Traceback (most recent call last): ... NotImplementedError
- uniformizer()#
Returns a uniformizer for this extension.
Since this extension is unramified, a uniformizer for the ground ring will also be a uniformizer for this extension.
EXAMPLES:
sage: R.<a> = ZqCR(125) sage: R.uniformizer() 5 + O(5^21)
- uniformizer_pow(n)#
Returns the nth power of the uniformizer of self (as an element of self).
EXAMPLES:
sage: R.<a> = ZqCR(125) sage: R.uniformizer_pow(5) 5^5 + O(5^25)