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

Operations on Structures

The following are a collection of functions which apply to local rings and of which most apply to fields.

AssignNames(~L, S) : RngLoc, SeqEnum ->
AssignNames(~L, S) : FldLoc, SeqEnum ->
Assign names to the generators of L. The sequence can have at most two elements which must be strings. The first of these is assigned to the name of the uniformizing element and the second to the name of the inertial element. While two names can be assigned to a p-adic structure, the name for the inertial element is effectively ignored.
Characteristic(L) : RngLoc -> RngIntElt
Characteristic(L) : FldLoc -> RngIntElt
The characteristic of the local ring or field L.
#L : RngLoc -> RngIntElt
The number of elements in L if L is a finite precision ring. The cardinality of a local field is infinite regardless of whether the field has finite precision.

Iterating over the elements of a local ring is possible but it will take time in proportion to the cardinality of L. It is recommended only for "small" local rings (precision must be very small for such a ring).

Name(L, k) : RngLoc, RngIntElt -> RngLocElt
Name(L, k) : FldLoc, RngIntElt -> FldLocElt
Return the kth generator of L.
ChangePrecision(L, r) : RngLoc, RngIntElt -> RngLoc
ChangePrecision(~L, r) : RngLoc, RngIntElt -> RngLoc
ChangePrecision(L, r) : FldLoc, RngIntElt -> FldLoc
ChangePrecision(~L, r) : FldLoc, RngIntElt -> FldLoc
Changes the maximum precision with which elements can be created to be r. For all structures the precision can be set to be infinite to gain a floating structure. Any defining polynomials that have been specified (and may have been changed through earlier calls to ChangePrecision) are expanded (or reduced) to precision r.
L eq K : RngLoc, RngLoc -> BoolElt
L eq K : FldLoc, FldLoc -> BoolElt
Returns whether or not the local rings or fields are the same.
L ne K : RngLoc, RngLoc -> BoolElt
L ne K : FldLoc, FldLoc -> BoolElt
Returns whether or not the local rings or fields are not the same.

Example RngLoc_strop (H59E5)

In this example the same variables are used as for the previous example.

> ChangePrecision(Zp, Infinity());
5-adic Ring
> L;              
Local Ring with Eisenstein polynomial x^3 + q*a*x^2 + q over I
> ChangePrecision( L, 50);
> L;
Local Ring with Eisenstein polynomial x^3 + 5*$.2*x^2 + 5 over 
Inertia Ring of degree 3 over 5-adic Ring mod 5^17
> #L;
6525304467998524526710294109256547555701164258068966547758636455469723244597486
22722289612685386828161426819860935211181640625
> AssignNames( L, ["pi"]);
> L.1;
pi
> b;
b
> L eq ChangePrecision(L, 10);
false
Note that b is an element of the original L with precision 60 which is why it retains its name to print with.
 [Next][Prev] [Right] [Left] [Up] [Index] [Root]