# Eisenstein Extension Generic¶

This file implements the shared functionality for Eisenstein extensions.

AUTHORS:

• David Roe
class sage.rings.padics.eisenstein_extension_generic.EisensteinExtensionGeneric(poly, prec, print_mode, names, element_class)

Initializes self.

EXAMPLES:

sage: A = Zp(7,10)
sage: S.<x> = A[]
sage: B.<t> = A.ext(x^2+7) #indirect doctest

gen(n=0)

Returns a generator for self as an extension of its ground ring.

EXAMPLES:

sage: A = Zp(7,10)
sage: S.<x> = A[]
sage: B.<t> = A.ext(x^2+7)
sage: B.gen()
t + O(t^21)

inertia_degree(K=None)

Returns the inertia degree of self over K, or the ground ring if K is None.

The inertia degree is the degree of the extension of residue fields induced by this extensions. Since Eisenstein extensions are totally ramified, this will be 1 for K=None.

INPUTS:

• self – an Eisenstein extension
• K – a subring of self (default None -> self.ground_ring())

OUTPUTS:

• The degree of the induced extensions of residue fields.

EXAMPLES:

sage: A = Zp(7,10)
sage: S.<x> = A[]
sage: B.<t> = A.ext(x^2+7)
sage: B.inertia_degree()
1

inertia_subring()

Returns the inertia subring.

Since an Eisenstein extension is totally ramified, this is just the ground field.

EXAMPLES:

sage: A = Zp(7,10)
sage: S.<x> = A[]
sage: B.<t> = A.ext(x^2+7)
sage: B.inertia_subring()
7-adic Ring with capped relative precision 10

ramification_index(K=None)

Returns the ramification index of self over K, or over the ground ring if K is None.

The ramification index is the index of the image of the valuation map on K in the image of the valuation map on self (both normalized so that the valuation of p is 1).

INPUTS:

• self – an Eisenstein extension
• K – a subring of self (default None -> self.ground_ring())

OUTPUTS:

• The ramification index of the extension self/K

EXAMPLES:

sage: A = Zp(7,10)
sage: S.<x> = A[]
sage: B.<t> = A.ext(x^2+7)
sage: B.ramification_index()
2

residue_class_field()

Returns the residue class field.

INPUT:

• self – a p-adic ring

OUTPUT:

• the residue field

EXAMPLES:

sage: A = Zp(7,10)
sage: S.<x> = A[]
sage: B.<t> = A.ext(x^2+7)
sage: B.residue_class_field()
Finite Field of size 7

uniformizer()

Returns the uniformizer of self, ie a generator for the unique maximal ideal.

EXAMPLES:

sage: A = Zp(7,10)
sage: S.<x> = A[]
sage: B.<t> = A.ext(x^2+7)
sage: B.uniformizer()
t + O(t^21)

uniformizer_pow(n)

Returns the nth power of the uniformizer of self (as an element of self).

EXAMPLES:

sage: A = Zp(7,10)
sage: S.<x> = A[]
sage: B.<t> = A.ext(x^2+7)
sage: B.uniformizer_pow(5)
t^5 + O(t^25)