View on GitHub

p-Adic Extensions

A Magma package for generating p-adic extensions

Template p-adic fields

A “template” p-adic field represents a p-adic field K with only partial information known, such as its prime and absolute degree. For example, the number of extensions of K of a given degree d only depends on d, p, and the absolute inertia and ramification degrees, and so it is useful to have a representation of a field with such limited information.

Currently, the partial information we support is:

Contents

Creation

TemplatepAdicField ()

-> FldPadTmpl

A “template” p-adic field with data given by the parameters.

Parameters

TemplatepAdicField (p :: RngIntElt)

-> FldPadTmpl

The “template” prime p-adic field Q_p. Equivalent to TemplatepAdicField(pAdicField(p)).

TemplatepAdicField (K :: FldPad)

-> FldPadTmpl

A “template” version of K.

TemplatepAdicCompletion (e :: Map)

-> FldPadTmpl

A “template” version of the completion e.

Parameters

TemplatepAdicCompletion (A :: FldRat, p :: RngIntElt)

TemplatepAdicCompletion (A :: FldRat, p :: RngInt)

TemplatepAdicCompletion (A :: FldNum, p)

-> FldPadTmpl

A “template” version of the completion of A at p.

Parameters

TemplatepAdicCompletion (A :: FldNum, p :: RngIntElt)

-> FldPadTmpl

A “template” version of the completion of A at the ideal generated by p and the Uniformizer, if given.

Parameters

Invariants

HasPrime (F :: FldPadTmpl)

-> BoolElt, RngIntElt

True if the prime of F is known.

Prime (F :: FldPadTmpl)

-> RngIntElt

The prime p.

HasAbsoluteDegree (F :: FldPadTmpl)

HasAbsoluteInertiaDegree (F :: FldPadTmpl)

HasAbsoluteRamificationDegree (F :: FldPadTmpl)

-> BoolElt, RngIntElt

True if the absolute degree/inertia degree/ramification degree is known.

AbsoluteDegree (F :: FldPadTmpl)

AbsoluteInertiaDegree (F :: FldPadTmpl)

AbsoluteRamificationDegree (F :: FldPadTmpl)

-> RngIntElt

Absolute degree, inertia degree and ramification degree.

HasUniformizerResidue (F :: FldPadTmpl)

-> BoolElt, FldFinElt

True if the uniformizer residue of F is known.

UniformizerResidue (F :: FldPadTmpl)

-> FldFinElt

Uniformizer residue, the residue class of pi^e/p where pi is a uniformizer.

HasResidueClassField (F :: FldPadTmpl)

-> BoolElt, FldFin, Map

True if the residue class field of F is known. If so, returns it and the quotient map.

ResidueClassField (F :: FldPadTmpl)

-> FldFin, Map

Residue class field and the quotient map.

HasActual (F :: FldPadTmpl)

-> BoolElt, FldPad, Map

True if F is associated to an actual field. If so, also returns the it and the embedding into it.

Actual (F :: FldPadTmpl)

-> FldPad, Map

The actual field associated to F, if there is one.

Embedding (F :: FldPadTmpl, A :: FldPad)

-> Map

The embedding of F into A, which must share the same residue class field.

HasGlobal (F :: FldPadTmpl)

-> BoolElt, Fld, Map

True if F is the completion of a global field. If so, returns the global field and the embedding.

Global (F :: FldPadTmpl)

-> Fld, Map

The global field which F is a completion of, and the embedding into it.

Embedding (F :: FldPadTmpl, A :: FldNum, e :: Map)

Embedding (F :: FldPadTmpl, A :: FldRat, e :: Map)

Embedding (F :: FldPadTmpl, A :: FldRat)

-> Map

Note: The embedding has an inverse defined, but it will enter an infinite loop unless the input can be represented as a finite polynomial in the uniformizer with coefficients representatives of the residue class field (i.e. the preimages of the residue map).

Parameters

BinomialValuation (K :: FldPadTmpl, n :: RngIntElt, k :: RngIntElt)

-> RngIntElt

The valuation of n choose k in K.

ShiftedBinomialResidue (K :: FldPadTmpl, n :: RngIntElt, k :: RngIntElt)

-> RngIntElt

The residue class of n choose k shifted in K down to a unit.

BinomialResidue (K :: FldPadTmpl, n :: RngIntElt, k :: RngIntElt)

-> RngIntElt

The residue class of n choose k.

Ore’s conditions

OreConditions (F :: FldPadTmpl, n :: RngIntElt, J :: RngIntElt, s :: RngIntElt)

-> BoolElt

True if there exists an extension of degree n of F whose ramification polygon has a point (p^s, J).

OreConditions (F :: FldPadTmpl, n :: RngIntElt, J :: RngIntElt)

-> BoolElt

True if there exists an extension of degree n and discriminant valuation n+J-1 of F.

OrePossibilities (F :: FldPadTmpl, n :: RngIntElt, s :: RngIntElt)

-> BoolElt

The possible J such that (F,n,J,s) satisfy Ore’s conditions.

OrePossibilities (F :: FldPadTmpl, n :: RngIntElt)

-> []

The possible J such that (F,n,J) satisfy Ore’s conditions.

Elements

Elements of a template p-adic field are represented by their valuation and a finite sequence of p-adic coefficients, which are elements of the residue class field.

When the actual field is known, we provide maps between the template and actual field (accessible by the Actual intrinsic). For each element of the residue class field, we choose a representative in the actual field (specifically, we use the inverse of the map returned by ResidueClassField on the actual field). If R is the set of representatives, then the sequence of p-adic coefficients may be interpreted as a polynomial with coefficients in R. Evaluating this at the uniformizer of the actual field gives an integral element, which is then shifted by the valuation.

IsCoercible (F :: FldPadTmpl, X)

-> BoolElt, Any

Allows coercion into F any of the following:

Parent (x :: FldPadTmplElt)

-> FldPadTmpl

The field containing x.

Zero (F :: FldPadTmpl)

-> FldPadTmplElt

Zero.

IsZero (x :: FldPadTmplElt)

-> BoolElt

True iff x is zero.

Valuation (x :: FldPadTmplElt)

-> BoolElt

The valuation of x.

Actual (x :: FldPadTmplElt)

-> FldPadElt

Coerces x into the actual field.

Global (x :: FldPadTmplElt)

-> FldElt

Coerces x into the global field.

Polynomial rings

PolynomialRing (F :: FldPadTmpl)

-> RngUPol_FldPadTmpl

The univariate polynomial ring over F.

BaseRing (R :: RngUPol_FldPadTmpl)

-> FldPadTmpl

The base ring.

HasActual (R :: RngUPol_FldPadTmpl)

-> BoolElt, RngUPol, Map

True if R has an actual ring.

Actual (R :: RngUPol_FldPadTmpl)

-> RngUPol, Map

The actual ring of R.

HasGlobal (R :: RngUPol_FldPadTmpl)

-> BoolElt, RngUPol, Map

True if R has a global ring.

Global (R :: RngUPol_FldPadTmpl)

-> RngUPol, Map

The global ring associated to R.

Embedding (R :: RngUPol_FldPadTmpl, A :: RngUPol, m :: Map)

-> Map

The embedding of R into A extending the embedding m of base rings.

Embedding (R :: RngUPol_FldPadTmpl, A :: RngUPol[FldPad])

-> Map

The embedding of R into A.

Polynomials

IsCoercible (R :: RngUPol_FldPadTmpl, X)

-> BoolElt, Any

We can coerce the following into R:

Parent (f :: RngUPolElt_FldPadTmpl)

-> RngUPol_FldPadTmpl

The ring containing f.

BaseRing (f :: RngUPolElt_FldPadTmpl)

-> FldPadTmpl

The base ring of f.

Coefficients (f :: RngUPolElt_FldPadTmpl)

-> []

The coefficients of f.

Coefficient (f :: RngUPolElt_FldPadTmpl, i :: RngIntElt)

-> FldPadTmplElt

The ith coefficient of f.

Degree (f :: RngUPolElt_FldPadTmpl)

-> RngIntElt

The degree.

IsZero (f :: RngUPolElt_FldPadTmpl)

-> BoolElt

True iff f is zero.

IsEisenstein (f :: RngUPolElt_FldPadTmpl)

-> BoolElt

True iff f is Eisenstein.

Actual (f :: RngUPolElt_FldPadTmpl)

-> RngUPolElt

Coerces f into the actual ring.

Global (f :: RngUPolElt_FldPadTmpl)

-> RngUPolElt

Coerces f into the global ring.

Extension (K :: FldPad, f :: RngUPolElt_FldPadTmpl, m :: Map)

-> FldPad

The extension of K defined by f, with the polynomial embedding m.

Extension (K :: FldPad, f :: RngUPolElt_FldPadTmpl)

-> FldPad

The extension of K defined by f.

ActualExtension (f :: RngUPolElt_FldPadTmpl)

-> FldPad

The extension of the actual field defined by f.