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)

Bases: sage.rings.padics.padic_extension_generic.pAdicExtensionGeneric

Initializes self.

EXAMPLES:

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

Return the absolute ramification index of this ring or field

EXAMPLES:

sage: K.<a> = Qq(3^5)
sage: K.absolute_e()
1

sage: L.<pi> = Qp(3).extension(x^2 - 3)
sage: L.absolute_e()
2
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_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
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
residue_ring(n)

Return the quotient of the ring of integers by the nth power of its maximal ideal.

EXAMPLES:

sage: S.<x> = ZZ[]
sage: W.<w> = Zp(5).extension(x^2 - 5)
sage: W.residue_ring(1)
Ring of integers modulo 5

The following requires implementing more general Artinian rings:

sage: W.residue_ring(2)
Traceback (most recent call last):
...
NotImplementedError
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)