The Ring of Witt Vectors of Finite Length

The ring of Witt vectors of length n (type RngWitt) over a global function field K parametrizes the cyclic extensions of K of degree pn where p is the characteristic of K. Witt vectors (type RngWittElt) can be defined over any ring with positive characteristic p. The ring of Witt vectors of length n will always be of characteristic pn. In the case of Witt vectors over finite fields, they can be seen as isomorphic to finite quotients of unramified p-adic rings.

The functionality offered here is mainly motivated by the class field theory which deals with vectors of short length only.

The Witt rings are based on code developed by David Kohel.

x in W : ., RngWitt -> BoolElt
a eq b : RngWittElt, RngWittElt -> BoolElt
a eq b : RngWitt, RngWitt-> BoolElt
a - b : RngWittElt, RngIntElt -> RngWittElt
a - b : RngIntElt, RngWittElt -> RngWittElt
a - b : RngWittElt, RngWittElt -> RngWittElt
- a : RngWittElt -> RngWittElt
a + b : RngWittElt, RngIntElt -> RngWittElt
a + b : RngIntElt, RngWittElt -> RngWittElt
a + b : RngWittElt, RngWittElt -> RngWittElt
a * b : RngWittElt, RngIntElt -> RngWittElt
a * b : RngIntElt, RngWittElt -> RngWittElt
a * b : RngWittElt, RngWittElt -> RngWittElt
a ^ n : RngWittElt, RngIntElt -> RngWittElt
WittRing(F, n) : Fld, RngIntElt -> RngWitt
Creates the ring of Witt vectors of length n where F must be a field of positive characteristic.
W ! a : RngWitt, . -> RngWittElt
Witt vectors of the Witt ring W can be constructed from a where a is
-
an element of the same ring
-
an integer
-
an element of the base ring
-
a sequence of length Length(W) whose universe can be changed to the base ring of W.
BaseRing(W) : RngWitt -> Fld
BaseField(W) : RngWitt -> Fld
The field of coefficients of the Witt ring W.
Length(W) : RngWitt -> RngIntElt
The length (dimension) of the elements of the Witt ring W.
Eltseq(a) : RngWittElt -> [FldElt]
The list of coefficients of the Witt vector a.
One(W) : RngWitt -> RngWittElt
Zero(W) : RngWitt -> RngWittElt
The one and zero in the Witt ring W.
W . 1 : RngWitt, RngIntElt -> RngWittElt
The first non-trivial basis element of the Witt ring.
FrobeniusMap(W) : RngWitt -> Map
The Frobenius map on the Witt ring W which is defined to be the map sending vectors to vectors where every coefficient is raised to the pth power.
FrobeniusImage(e) : RngWittElt -> RngWittElt
Computes the image of the Witt vector e under the Frobenius map.
VerschiebungMap(W) : RngWitt -> Map
The verschiebungs map of the Witt ring W, i.e. shift all coefficients one position to the right and pad with a zero in front.
VerschiebungImage(e) : RngWittElt -> RngWittElt
Computes the image of the Witt vector e under the verschiebung map.
Random(W) : RngWitt -> RngWittElt
For finite Witt rings, i.e. Witt rings defined over finite fields, return a random element.
Random(W, n) : RngWitt, RngIntElt -> RngWittElt
For Witt rings where the base field admits a random function with size restriction n.
TeichmuellerSystem(R) : Any -> [RngLocElt]
TeichmuellerSystem(R) : Rng -> [RngLocElt]
A Teichmüller system for the local ring R, ie. a system of representatives for the residue class field of R that is closed under multiplication.
LocalRing(W) : RngWitt -> RngLoc, Map
Any ring W of Witt vectors of finite length over a finite field is isomorphic to some unramified local ring. This intrinsic will create the corresponding local ring and the embedding into it.
ArtinSchreierMap(W) : RngWitt -> Map
Returns the map x |-> F(x) - x where F is the Frobenius map of the Witt ring W.
ArtinSchreierImage(e) : RngWittElt -> RngWittElt
This function computes the image of the Witt vector e under the Artin-Schreier map.
FunctionField(e) : RngWittElt -> FldFun, Map
    WithAut: BoolElt                    Default: true
    Check: BoolElt                      Default: false
    Abs: BoolElt                        Default: false
A Witt vector e = (e1, ..., en) of length n over k where e1 is not in the image of the Artin-Schreier map e1 not∈{xp - x : x ∈k} defines a cyclic extension K/k of degree pn. This function will compute K.

If WithAut is true in addition to K it will compute a generating automorphism and return it as second return value.

If Abs is true, the function will compute a K as a single step extension of k, otherwise, K will be constructed as a series of n Artin-Schreier extensions.

If Check is true, it will be verified that the extension is of degree pn. In particular the restrictions on e1 are tested.

MaximalOrderFinite(u) : RngWittElt -> RngFunOrd
MaximalOrderInfinite(u) : RngWittElt -> RngFunOrd
Given a Witt vector u defined over a function field F return the finite, respectively infinite, maximal order of the degree pn Artin--Schreier--Witt extension of F defined by u. This uses the algorithm described in [Sut16].
SMaximalOrder(u, S) : RngWittElt, [PlcFunElt] -> RngFunOrd
Given a Witt vector u of length n defined over a function field F of characteristic p and a set S of places of F all contained in the same maximal order ZF of F, return the minimal S-maximal order of the degree pn Artin--Schreier--Witt extension E of F defined by u containing the equation order of E which extends ZF. This uses the algorithm described in [Sut16].
MaximalOrders(u) : RngWittElt -> RngFunOrd, RngFunOrd
Given a Witt vector u over a function field F compute the finite and infinite maximal orders of the Artin--Schreier--Witt extension F(wp^ - 1(u)) where wp is the Artin--Schreier operator. This uses the algorithm described in [Sut16].
V2.28, 13 July 2023