The following functions return non-trivial structural properties of invariant
rings.
HilbertSeries(R) : RngInvar -> FldFunUElt
The Hilbert series of the invariant ring R=K[V]^G, returned as an element of the rational function field Z(t). The Molien series of G will be used if possible; otherwise (the modular matrix group case) secondary invariants for R will be constructed to determine the result.
Given the invariant ring R=K[V]^G of the group G over the field K, return true iff R is Cohen-Macaulay. This is always true in the non-modular case. Otherwise, secondary invariants for R will be constructed to determine the result.
Given the invariant ring R=K[V]^G of the group G over the field K, return a free resolution of (the module of) R. This is just the same as the invocation FreeResolution(Module(R)). The free resolution is returned as a sequence F such that F[1] is M, F[i + 1] is the syzygy module of F[i] for i<#F, and the last element of F is free (its basis has no syzygies).
Given the invariant ring R=K[V]^G of the group G over the field K, return a minimal free resolution of (the module of) R. This is just the same as the invocation MinimalFreeResolution(Module(R)). The free resolution is returned as a sequence F such that F[1] is M, F[i + 1] is the syzygy module of F[i] for i<#F, and the last element of F is free (its basis has no syzygies).
Given the invariant ring R=K[V]^G of the group G over the field K, return the homological dimension of R. This is just the length of a minimal free resolution of R minus 1 (taking account of the fact that the module M of R is always included in the free resolution).
Given the invariant ring R=K[V]^G of the group G over the field K, return the depth of R. This is n - d by the Auslander-Buchsbaum formula, where n is the rank of R and d is the homological dimension of R.
> K:=GF(2); > G := MatrixGroup<5,K | [1,0,0,0,0, 1,1,0,0,0, 0,1,1,0,0, > 0,0,1,1,0, 0,0,0,1,1]>; > R := InvariantRing(G); > time F := MinimalFreeResolution(R); Time: 14.829 > #F; 3 > [Degree(M): M in F]; [ 22, 22, 7 ] > Depth(R); 3 > HomologicalDimension(R); 2