[Next][Prev] [Right] [Left] [Up] [Index] [Root]

Elementary Invariants

These functions return some simple information which can partially define a local ring or field.

Prime(L) : RngLoc -> RngIntElt
Prime(L) : FldLoc -> RngIntElt
Returns the prime p defining the p-adic ring or field underlying L. This is also the characteristic of the residue class field of the ring L or the ring of integers of the field L.
InertiaDegree(L) : RngLoc -> RngIntElt
InertiaDegree(L) : FldLoc -> RngIntElt
Returns the inertia degree of the local ring or field L.
RamificationDegree(L) : RngLoc -> RngIntElt
RamificationDegree(L) : FldLoc -> RngIntElt
Returns the ramification degree of the local ring or field L.
TotalDegree(L) : RngLoc -> RngIntElt
TotalDegree(L) : FldLoc -> RngIntElt
Returns the total degree of the local ring or field L over the underlying p-adic ring or field, i.e. the product of the inertia degree and the ramification degree.
Degree(L) : RngLoc -> RngIntElt
Degree(L) : FldLoc -> RngIntElt
The degree of L over its substructure if L is not a p-adic structure. i.e either the inertia degree if L is an inertia ring or field or the ramification degree otherwise.
EisensteinPolynomial(L) : RngLoc -> RngUPolElt
EisensteinPolynomial(L) : FldLoc -> RngUPolElt
Returns the Eisenstein polynomial of L. If L is unramified, the polynomial x - p is returned. The polynomial is over the inertial subring of L.
InertialPolynomial(L) : RngLoc -> RngUPolElt
InertialPolynomial(L) : FldLoc -> RngUPolElt
Returns the minimal polynomial of the inertial element over the p-adic substructure. If the inertial degree of L is one then x - 1 is returned. The polynomial is over the p-adic subring of L.
DefiningPolynomial(L) : RngLoc -> RngUPolElt
DefiningPolynomial(L) : FldLoc -> RngUPolElt
Returns the minimal polynomial of the generator of L. This will be the Eisenstein polynomial of L unless L is unramified in which case it will return the inertial polynomial of L. This function is not defined if L is p-adic. The polynomial is over the subring of L.
InertiaRing(L) : RngLoc -> RngLoc
Return the inertia ring of the local ring L.
InertiaField(L) : FldLoc -> FldLoc
Return the inertia field of the local field L.
PrimeRing(L) : RngLoc -> RngLoc
PrimeField(L) : FldLoc -> FldLoc
pAdicRing(L) : RngLoc -> RngLoc
pAdicField(L) : FldLoc -> FldLoc
Return the p-adic ring or field which L is an extension of.
ResidueClassField(L) : RngLoc -> FldFin, Map
Return the finite field isomorphic to the quotient of the local ring L by its maximal ideal pi L (generated by the uniformizing element).
UniformizingElement(L) : RngLoc -> RngLocElt
L . 1 : RngLoc -> RngLocElt
UniformizingElement(L) : FldLoc -> FldLocElt
L . 1 : FldLoc -> FldLocElt
Return the element of valuation 1 the powers of which form the basis of L over its inertial substructure. This will be a root of the Eisenstein polynomial of L. If L is unramified then this is the prime of the ring or field.
InertiaElement(L) : RngLoc -> RngLocElt
L . 2 : RngLoc -> RngLocElt
InertiaElement(L) : FldLoc -> FldLocElt
L . 2 : FldLoc -> FldLocElt
Return the inertial element the powers of which form the basis of the inertia ring of L over the p-adic ring. This will be a root of the inertial polynomial of L. If the inertia degree is 1, the 1-element of L is returned.
Precision(L) : RngLoc -> RngIntElt
Precision(L) : FldLoc -> RngIntElt
The precision with which L has been created. If L is a local ring this is the maximum absolute precision its elements can be created with. If L is a local field this is the maximum relative precision its elements can be created with.

Example RngLoc_elinvar (H59E4)

We illustrate the functions in this section for rings. Similar can be done for fields

> Zp<p> := pAdicRing(5, 20);
> I<q, a> := UnramifiedExtension(Zp, 3);
> R<x> := PolynomialRing(I);
> L<b> := LocalRing(I, x^3 + 5*a*x^2 + 5);
> Prime(L);
5
> InertiaDegree(L);
3
> TotalDegree(L);
9
> EisensteinPolynomial(L);
x^3 + 5*a*x^2 + 5
> P<y> := PolynomialRing(Zp);
> InertialPolynomial(L);
y^3 + 11224679742905*y^2 - 36114878820502*y + 15613890344818
> DefiningPolynomial(L);
x^3 + 5*a*x^2 + 5
> DefiningPolynomial(I);
y^3 + 11224679742905*y^2 - 36114878820502*y + 15613890344818
> InertiaRing(L);
Inertia Ring of degree 3 over Zp
> PrimeRing(L);
5-adic Ring mod p^20
> PrimeRing(I);
5-adic Ring mod p^20
> ResidueClassField(L);
Finite field of size 5^3
Mapping from: RngLoc: L to GF(5^3)
> ResidueClassField(I);
Finite field of size 5^3
Mapping from: RngLoc: I to GF(5^3)
> UniformizingElement(L);
b
> L.2;
a
> Precision(L);
60
> Precision(I);
20
> R<y> := PolynomialRing(Rationals());
> R<b, a> := LocalRing(2, y^2 + y + 1);
> InertialPolynomial(R);
$.1^2 + $.1 + 1
> Precision(R);
Infinity
The printing of the polynomials can be possibly made both messier and more informative by turning the SeriesPrinting attribute on for the p-adic substructure.

> Zp`SeriesPrinting := true;
> InertialPolynomial(L);    
y^3 + (p + p^2 - 2*p^3 - p^4 - 2*p^5 - p^6 + p^7 + p^9 + 2*p^10 + p^11 + p^12 - 
    p^14 - 2*p^15 - p^16 - 2*p^18 + p^19)*y^2 + (-2 + p^3 + 2*p^4 + 2*p^5 + p^7
    + 2*p^9 + p^10 + 2*p^11 - 2*p^12 - 2*p^14 + 2*p^15 - 2*p^16 - 2*p^17 + p^18
    - 2*p^19)*y - 2 - p - 2*p^2 - p^3 + 2*p^4 + 2*p^6 + p^7 - p^8 + 2*p^9 + 
    2*p^10 + 2*p^11 - p^12 + p^13 - 2*p^14 + 2*p^15 + 2*p^16 - p^18 + p^19

> DefiningPolynomial(L);
x^3 + q*a*x^2 + q

 [Next][Prev] [Right] [Left] [Up] [Index] [Root]