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)[source]¶
Bases:
pAdicExtensionGenericAn unramified extension of \(\QQ_p\) or \(\ZZ_p\).
- absolute_f()[source]¶
Return the degree of the residue field of this ring/field over its prime subfield.
EXAMPLES:
sage: K.<a> = Qq(3^5) # needs sage.libs.ntl sage: K.absolute_f() # needs sage.libs.ntl 5 sage: x = polygen(ZZ, 'x') sage: L.<pi> = Qp(3).extension(x^2 - 3) # needs sage.libs.ntl sage: L.absolute_f() # needs sage.libs.ntl 1
- discriminant(K=None)[source]¶
Return the discriminant of
selfover the subring \(K\).INPUT:
K– a subring/subfield (defaults to the base ring)
EXAMPLES:
sage: R.<a> = Zq(125) # needs sage.libs.ntl sage: R.discriminant() # needs sage.libs.ntl Traceback (most recent call last): ... NotImplementedError
- gen(n=0)[source]¶
Return 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() # needs sage.libs.ntl a + O(5^20)
- has_pth_root()[source]¶
Return whether or not \(\ZZ_p\) has a primitive \(p\)-th root of unity.
Since adjoining a \(p\)-th root of unity yields a totally ramified extension,
selfwill contain one if and only if the ground ring does.INPUT:
self– a \(p\)-adic ring
OUTPUT: boolean; whether
selfhas primitive \(p\)-th root of unityEXAMPLES:
sage: R.<a> = Zq(1024); R.has_pth_root() # needs sage.libs.ntl True sage: R.<a> = Zq(17^5); R.has_pth_root() # needs sage.libs.ntl False
- has_root_of_unity(n)[source]¶
Return whether or not \(\ZZ_p\) has a primitive \(n\)-th root of unity.
INPUT:
self– a \(p\)-adic ringn– integer
OUTPUT: boolean
EXAMPLES:
sage: # needs sage.libs.ntl 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)[source]¶
Return
Trueif 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() # needs sage.libs.ntl True
- residue_class_field()[source]¶
Return the residue class field.
EXAMPLES:
sage: R.<a> = Zq(125); R.residue_class_field() # needs sage.libs.ntl Finite Field in a0 of size 5^3
- residue_ring(n)[source]¶
Return the quotient of the ring of integers by the \(n\)-th power of its maximal ideal.
EXAMPLES:
sage: R.<a> = Zq(125) # needs sage.libs.ntl sage: R.residue_ring(1) # needs sage.libs.ntl Finite Field in a0 of size 5^3
The following requires implementing more general Artinian rings:
sage: R.residue_ring(2) # needs sage.libs.ntl Traceback (most recent call last): ... NotImplementedError