# 71.2 Hecke algebras over fields of positive characteristic

The last example looked at Hecke algebras with parameter q=1 and R a field of characteristic~3 (so e=3); that is, the group algebra of the symmetric group over a field of characteristic 3. More, generally, the command `Specht(p, p)` can be used to consider the group algebras of the symmetric groups over fields of characteristic p (ie. e=p, and `R` a field of characteristic~p).

To consider Hecke algebras defined over arbitrary fields `Specht` must also be supplied with a valuation map val as an argument. The function val is a map from some PID into the natural numbers; at present it is needed only by functions which rely (at least implicitly), upon the q--analogue of Schaper's theorem. In general, val depends upon q and the characteristic of R; full details can be found in [JM2].

Over fields of characteristic zero, and in the symmetric group case, the function val is automatically defined by `Specht`. When R is a field of characteristic zero, val([i]_q) is 1 if e divides i and~0 otherwise (this is the valuation map associated to the prime ideal in C[v] generated by the e--th cyclotomic polynomial). When <q>=1 and R is a field of characteristic p, val is the usual p--adic valuation map.

As another example, if <q>=4 and R is a field of characteristic 5 (so <e>=2), then the valuation map sends the integer x to nu_5([4]_x) where [4]_x is interpreted as an integer and nu_5 is the usual 5--adic valuation. To consider this Hecke algebra one could proceed as follows:

```gap> val:=function(x) local v;
>       x:=Sum([0..x-1],v->4^v);  # x-\${>}\$[x]\_q
>       v:=0; while x mod 5=0 do x:=x/5; v:=v+1; od;
>       return v;
>     end;;
gap> H:=Specht(2,5,val,"e2q4");
Specht(e=2, p=5, S(), P(), D(), HeckeRing="e2q4")```

Notice the string ``e2q4'' which was also passed to `Specht` in this example. Although it is not strictly necessary, it is a good idea when using a ``non--standard'' valuation map val to specify the value of `H.HeckeRing`=HeckeRing. This string is used for internal bookkeeping by Specht; in particular, it is used to determine filenames when reading and saving decomposition matrices. If a ``standard'' valuation map is used then HeckeRing is set to the string ``e{<}e{>}p{<}p{>}''; otherwise it defaults to ``unknown''. The function `SaveDecompositionMatrix` will not save any decomposition matrix for any Hecke algebra `H` with `H.HeckeRing`=``unknown''.

GAP 3.4.4
April 1997