Primary Invariants

Let R=K[V]G be the invariant ring of a finite group G over the field K and suppose the degree of G is n. A set of primary invariants of R is a set { f1, ..., fn } of n algebraically independent homogeneous invariants of R such that the invariant ring R is a finitely generated module over A = K[f1, ..., fn]. A set of primary invariants always exists for any invariant ring R. The invocation PrimaryInvariants(R) allows automatic construction of primary invariants of R. The primary invariants are stored in R and recalled as necessary in subsequent computations.

The latest algorithm in Magma to compute primary invariants, due to G. Kemper [Kem99], now guarantees that the degrees of the primary invariants found by the algorithm are optimal (with respect to their product and then their sum).

PrimaryInvariants(R) : RngInvar -> [ RngMPolElt ]
Construct optimal primary invariants for the invariant ring R=K[V]G as a sorted sequence (with increasing degrees) of n polynomials of R where n is the degree of G.

Example RngInvar_AdemMilgram (H117E6)

We compute primary invariants for the "first A5 in SL(GF(2))", discussed in [AM94, p. 116]. The resulting degrees 3, 5, 8, and 12 are necessarily optimal (see [Kem96]).
> K := GF(2);
> G := MatrixGroup<4, K |
>     [0,1,0,0, 1,1,0,0, 0,0,1,1, 0,0,1,0],
>     [1,0,0,0, 0,1,0,0, 1,0,1,0, 0,1,0,1],
>     [1,0,1,0, 0,1,0,1, 0,0,1,0, 0,0,0,1]>;
> R := InvariantRing(G);
> time p := PrimaryInvariants(R);
Time: 1.399
> [TotalDegree(f): f in p];
[ 3, 5, 8, 12 ]
V2.28, 13 July 2023