[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
The Module of an Invariant Ring

The Module of an Invariant Ring

Let R=K[V]^G be the invariant ring of the group G over the field K and suppose the degree of G is n. Suppose also that primary invariants { f_1, ..., f_n } for R have been constructed, together with minimal secondary invariants S = { g_1, ..., g_m } for R with respect to these primary invariants. (These secondary invariants may possess non-trivial module syzygies.) Then R can be considered as a module over the algebra A = K[f_1, ..., f_n] with the minimal (module) generating set S.

To compute with this module structure of R easily, Magma automatically constructs the graded multivariate polynomial algebra A' = K[t_1, ..., t_n] (with the weighted degree of the variable t_i defined to be the degree of f_i) which is isomorphic to A, and then constructs the graded module M = A'^m/Q over A' with the quotient relations Q given by the syzygies of the g_i (and with the weighted degree of column i equal to the degree of g_i). The algebra A' is isomorphic to A under the map t_i |-> f_i, and the module M is isomorphic to R (considered as a module) under the map M.i |-> g_i (extended by the isomorphism from A' onto A). (See the chapter on modules over K[x_1, ..., x_n] for details on how to compute with the module M and an explanation of quotient relations, the unit vectors M.i, etc.) Once the module M is created, together with the isomorphism f: R -> M, one can apply f to a general element h of R to obtain the element of M corresponding to h. This effectively yields a representation of h as a sum sum_(i=1)(k) a_i g_i with a_i in A in terms of the primary and secondary invariants. This representation is also unique up to the relations given by the syzygies of the g_i.

When creating the module M, the coefficient ring A' of M is assigned the print names "t1", "t2", etc. -- the angle bracket notation or the . operator should be used to assign the variables of A' to actual Magma variables.

Module(R) : RngInvar -> ModMPol, Map
The module M isomorphic to R=K[V]^G, together with the isomorphism f: R -> M.

Example RngInvar_Module (H30E9)

We create the module M corresponding to the invariant ring R of the group G generated by the 4 by 4 Jordan block over GF(3).

> K := GF(3);
> G := MatrixGroup<4,K | [1,0,0,0, 1,1,0,0, 0,1,1,0, 0,0,1,1]>;
> R := InvariantRing(G);
> P<x1,x2,x3,x4> := PolynomialRing(R);
> p := PrimaryInvariants(R);
> s := SecondaryInvariants(R);      
> [TotalDegree(f): f in p];
[ 1, 2, 3, 9 ]
> [TotalDegree(f): f in s];
[ 0, 3, 4, 5, 6, 7, 8, 9 ]
> M, f := Module(R);
> M;
Full Quotient Module of degree 8
TOP Order
Column weights: 0 3 4 5 6 7 8 9
Coefficient ring:
    Graded Polynomial ring of rank 4 over GF(3)
    Lexicographical Order
    Variables: t1, t2, t3, t4
    Variable weights: 1 2 3 9
Quotient Relations:
[
    t1[7] + 2*t2[6] + t3[5],
    t1[4] + 2*t2[3] + t3[2]
]
> h := x1^5*x2 + 2*x1^3*x3^3 + 2*x2^6;
> h;
x1^5*x2 + 2*x1^3*x3^3 + 2*x2^6
> m := f(h);
> m;
t1^4*t2[1] + t1^3[2] + t2^3[1]
> // Evaluate in the primaries and secondaries:
> p[1]^4*p[2]*s[1] + p[1]^3*s[2] + p[2]^3*s[1];
x1^5*x2 + 2*x1^3*x3^3 + 2*x2^6

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