Operations with Fields

BaseRing(L): RngLocA -> Rng
CoefficientRing(L): RngLocA -> Rng

Return the coefficient field of the local field \(L\). This is the field which was extended to construct \(L\).

DefiningPolynomial(L): RngLocA -> RngUPolElt

Return the polynomial used to define the local field \(L\) as an extension of its coefficient field.

Degree(L): RngLocA -> RngIntElt

Return the degree of the local field \(L\), that is, the degree of its defining polynomial.

Degree(L, R): RngLocA, Rng -> RngIntElt

Return the degree of \(L\) as an extension of \(R\) where \(R\) is some coefficient ring of \(L\).

InertiaDegree(L): RngLocA -> RngIntElt
RamificationDegree(L): RngLocA -> RngIntElt
RamificationIndex(L): RngLocA -> RngIntElt

Return the degree of the inertial or totally ramified subfield of the local field \(L\) as an extension of the coefficient field of \(L\).

Precision(L): RngLocA -> RngIntElt

Return the precision of the local field \(L\). This is the maximum number of digits which can occur in an element of \(L\), the difference between the valuation of an element of \(L\) and the valuation of the term of highest valuation occurring in that element.

Prime(L): RngLocA -> RngElt

Return the prime of the local field \(L\). This is the same as the prime of the coefficient field of \(L\).

Example: Coefficient Ring and Defining Polynomial (ex-ef970a)

Continuing from the first example we have :

> CoefficientRing(L);
7-adic field mod 7^50
> DefiningPolynomial(L);
$.1^6 + (32 + O(7^50))*$.1^5 + (390 + O(7^50))*$.1^4 + (2284 + O(7^50))*$.1^3 +
    (6588 + O(7^50))*$.1^2 + (8744 + O(7^50))*$.1 + 5452 + O(7^50)
> Precision(L);
150
> Prime(L);
7
> Degree(L); RamificationDegree(L); InertiaDegree(L);
6
3
2

Run in calculator (opens in a new tab)

QuotientRepresentation(L): RngLocA -> RngUPolRes

Return the polynomial quotient ring which is isomorphic to the local field \(L\) and is used to represent \(L\).

RamifiedRepresentation(L): RngLocA -> FldPad, Map

Return the local field isomorphic to the local field \(L\) constructed as an unramified then a ramified extension and the map from \(L\) into the isomorphic field.

Example: Two-Step Representation of a Local Field (ex-a41b45)

Run in calculator (opens in a new tab)

We create a \(1\) step local field and compute its representation as a \(2\) step local field.

> P<x> := PolynomialRing(Integers());
> L<a> := LocalField(pAdicField(7, 50), x^6 - 49*x^2 + 686);
> L;
Extension of 7-adic field mod 7^50 by x^6 + O(7^50)*x^5 + O(7^50)*x^4 +
    O(7^50)*x^3 - (7^2 + O(7^52))*x^2 + O(7^50)*x + 2*7^3 + O(7^53)
> QuotientRepresentation(L);
Univariate Quotient Polynomial Algebra in $.1 over 7-adic field mod 7^50
with modulus $.1^6 + O(7^50)*$.1^5 + O(7^50)*$.1^4 + O(7^50)*$.1^3 - (7^2 +
    O(7^52))*$.1^2 + O(7^50)*$.1 + 2*7^3 + O(7^53)
> RR, m := RamifiedRepresentation(L);
> RR;
Totally ramified extension defined by the polynomial x^2 +
    417092732355694537113348201703437033788663*$.1^2 +
    586194602218356762336379252895075698537137*$.1 -
    130094113224633998166887533755901214096597
 over Unramified extension defined by the polynomial x^3 + 6*x + 2
 over 7-adic field mod 7^50
> m(L.1);
RR.1 + O(RR.1^92)
> RR.1 @@ m;
O(7^48)*$.1^5 + O(7^48)*$.1^4 + O(7^49)*$.1^3 + O(7^49)*$.1^2 + $.1 + O(7^50)
> CoefficientRing(RR).1 @@ m;
O(7^34)*$.1^5 - (954564700580430506024960512238*7^-1 + O(7^35))*$.1^4 +
    O(7^36)*$.1^3 + (1031213687115590174398504554631*7^-1 + O(7^35))*$.1^2 +
    O(7^37)*$.1 + 131284877366067295106350173568*7 + O(7^36)

Run in calculator (opens in a new tab)

AssignNames(~L, S): RngLocA, SeqEnum[MonStgElt]

Assign the name in the sequence \(S\) to the generator of the extension defining the local field \(L\).

Name(L, i): RngLocA, RngIntElt -> RngLocAElt

Return the generator of the local field \(L\) which has assigned to it the name in the sequence \(S\) which was input to AssignNames. The only valid input for \(i\) is \(1\).

Discriminant(L): RngLocA -> RngElt

Return the discriminant of the local field \(L\).

ResidueClassField(L): RngLocA -> Rng, Map

Return the residue class field of the maximal order of the local field \(L\) and the map between \(L\) and its residue class field.

RelativeField(L, m): RngLocA, Map -> RngLocA, Map, Map

Return \(L\) as an extension of the domain of the map \(m\) which should be a map from a subfield of \(L\) (having the same coefficient ring as \(L\)) into \(L\).

Predicates on Fields

IsRamified(L): RngLocA -> BoolElt

Return whether the local field \(L\) has a non trivial ramified subfield, that is, the ramification degree of \(L\) is greater than \(1\).

IsTamelyRamified(L): RngLocA -> BoolElt
IsWildlyRamified(L): RngLocA -> BoolElt

Return whether the local field \(L\) is tamely or wildly ramified.

IsTotallyRamified(L): RngLocA -> BoolElt

Return whether the local field \(L\) is a totally ramified extension, that is, \(L\) has a trivial inertial subfield.

IsUnramified(L): RngLocA -> BoolElt

Return whether the local field \(L\) is equal to its inertial subfield.