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:
- The prime,
p
- The absolute degree,
(K:Q_p)
- The absolute inertia degree,
f(K:Q_p)
- The absolute ramification degree,
e(K:Q_p)
- The “uniformizer residue class”, which is
pi^e/p
wherepi
is a uniformizer; this is well-defined up to a multiple by ae
th power - The actual field
K
, as a standardFldPad
such as is returned bypAdicField
.
Contents
Creation
TemplatepAdicField ()
-> FldPadTmpl
A “template” p-adic field with data given by the parameters.
Parameters
Prime
Degree
InertiaDegree
RamificationDegree
UniformizerResidue
Actual
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
Place
Uniformizer
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
Uniformizer
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
Uniformizer
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
Place
: When given, this must be the prime ideal of A corresponding to the completion. By default it is computed from e, but the embedding depends on its generators, so you may get a nicer embedding using the original prime.ResidueMap
: When given, this must be the residue map from the integers of A to the residue class field of F. By default it is computed from Place.Uniformizer
: When given, this must be a uniformizing element for the prime. By default it is computed from Place.
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:
- An element of
F
- An element of the actual field of
F
(if defined) - A sequence [c0,c1,…] of p-adic coefficients
- A tuple <v,[c0,c1,…]> of valuation and p-adic coefficients
- The integer 0
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
:
- Elements of
R
- Elements of the actual ring of
R
(if defined) - Polynomials over anything coercible to the base ring of
R
- Sequences of anything coercible to the base ring of
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 i
th 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
.