The Algebra of an Invariant Ring and Algebraic Relations#
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\). Suppose also that primary invariants \(\{ f_1, \ldots, f_n \}\) for \(R\) have been constructed, together with minimal secondary invariants \(S = \{ g_1, \ldots, g_m \}\) for \(R\) with respect to these primary invariants. Suppose also that the irreducible secondary invariants for R are \(S = \{ h_1, \ldots, h_r \}\) so that the \(g_i\) are power products of the \(h_i\). We write \(g_i=p_i(h_i)\) where the \(p_i\) are monomials of the indeterminates \(t_1,\ldots,t_r\). Then \(R\) is generated as an algebra over \(K\) by the primary invariants \(f_1, \ldots, f_n\) and the irreducible secondary invariants \(h_1, \ldots, h_r\). Magma allows the construction of a polynomial algebra \(A\) with indeterminate names "f1", "f2", etc. corresponding to the primary invariants and indeterminate names "h1", "h2", etc. corresponding to the irreducible secondary invariants. Thus \(R\) can be regarded as an homomorphic image of \(A\) and finding the algebraic relations between these (algebra) generators of \(R\) yields a presentation of \(R\) as a quotient of a polynomial algebra. The functions in this section construct the algebra \(A\) and the algebraic relations for \(R\). When creating the algebra \(A\), the algebra \(A\) is assigned the print names "f1", "f2", "h1", "h2", etc. – the angle bracket notation or the \(.\) operator should be used to assign the variables of \(A\) to actual Magma variables.
- Algebra(R): RngInvar -> RngMPol, [ RngMPolElt ]#
Given an invariant ring \(R=K[V]^G\), return the polynomial algebra \(A=K[f_1,\ldots,f_n,h_1,\ldots,h_r]\) of which \(R\) is an homomorphic image. This function also returns a sequence \(Q\) giving the secondary invariants in terms of the irreducible secondary invariants as monomials in \(A\). Thus \(Q[i]\) is the monomial \(p_i(t_i)\) mentioned in the introduction to this section. Note that the secondary invariant \(1\) is not an irreducible secondary invariant so no \(h\)-variable corresponds to it (the polynomial \(1\) in \(A\) simply corresponds to it).
- Relations(R): RngInvar -> [ RngMPolElt ]#
Given an invariant ring \(R=K[V]^G\), return a (sorted) sequence \(L\) giving the algebraic relations amongst the algebra generators of \(R\) as elements of the algebra \(A\) corresponding to \(R\). Thus \(R\) is isomorphic as an algebra (or ring) to the quotient of \(A\) by the ideal of \(A\) generated by the relations in \(L\).
- RelationIdeal(R): RngInvar -> RngMPol#
Given an invariant ring \(R=K[V]^G\), return the ideal of algebraic relations corresponding to \(R\). This is simply the same as taking the ideal generated by the algebra \(A\) by the sequence \(L\) returned by the function
Relations(R).
- PrimaryAlgebra(R): RngInvar -> RngMPol#
Given an invariant ring \(R=K[V]^G\), return the algebra corresponding to the primary invariants of \(R\) as a graded polynomial ring (with the weights corresponding to the degrees of the primary invariants).
- PrimaryIdeal(R): RngInvar -> RngMPol#
Given an invariant ring \(R=K[V]^G\), return the ideal generated by the primary invariants of \(R\) (this is stored in \(R\)).
- Example: Relations (ex-899101)#
We create the invariant ring \(R=K[V]^G\) where \(G\) is a degree-6 permutation representation of the direct product \(C_3 \times C_3\) of two cyclic groups both of order 3 and \(K\) is the rational field. We construct the algebra \(A\) and the sequence \(Q\) giving the secondary invariants in terms of the irreducible secondary invariants. We then note that the degree-6 secondary invariant is obtained as the product of two degree-3 irreducible secondary invariants. We then construct the list \(L\) of algebraic relations in \(A\) for \(R\). Thus \(R\) is isomorphic to the quotient ring \(A/<L>\). We then construct an homomorphism \(h\) from \(A\) onto \(R\) and check that the relations in \(L\) are correct. Finally, we check that the Hilbert series of the (quotient by the) ideal of \(A\) generated by \(L\) is the same as the Hilbert series of \(R\) as expected.
> G := PermutationGroup<6 | (1, 2, 3), (4, 5, 6)>; > R := InvariantRing(G, RationalField()); > P := PrimaryInvariants(R); > P; [ x1 + x2 + x3, x4 + x5 + x6, x1^2 + x2^2 + x3^2, x4^2 + x5^2 + x6^2, x1^3 + x2^3 + x3^3, x4^3 + x5^3 + x6^3 ] > S := SecondaryInvariants(R); > S; [ 1, x1^2*x2 + x1*x3^2 + x2^2*x3, x4^2*x5 + x4*x6^2 + x5^2*x6, x1^2*x2*x4^2*x5 + x1^2*x2*x4*x6^2 + x1^2*x2*x5^2*x6 + x1*x3^2*x4^2*x5 + x1*x3^2*x4*x6^2 + x1*x3^2*x5^2*x6 + x2^2*x3*x4^2*x5 + x2^2*x3*x4*x6^2 + x2^2*x3*x5^2*x6 ] > H := IrreducibleSecondaryInvariants(R); > H; [ x1^2*x2 + x1*x3^2 + x2^2*x3, x4^2*x5 + x4*x6^2 + x5^2*x6 ] > A, Q := Algebra(R); > A; Graded Polynomial ring of rank 8 over Rational Field Lexicographical Order Variables: f1, f2, f3, f4, f5, f6, h1, h2 Variable weights: 1 1 2 2 3 3 3 3 > Q; [ 1, h1, h2, h1*h2 ] > // Thus S[4] must be H[1]*H[2]: > S[4]; x1^2*x2*x4^2*x5 + x1^2*x2*x4*x6^2 + x1^2*x2*x5^2*x6 + x1*x3^2*x4^2*x5 + x1*x3^2*x4*x6^2 + x1*x3^2*x5^2*x6 + x2^2*x3*x4^2*x5 + x2^2*x3*x4*x6^2 + x2^2*x3*x5^2*x6 > H[1]; x1^2*x2 + x1*x3^2 + x2^2*x3 > H[2]; x4^2*x5 + x4*x6^2 + x5^2*x6 > H[1]*H[2] eq S[4]; true > L := Relations(R); > L; [ -1/24*f1^6 + 3/8*f1^4*f3 - 1/3*f1^3*f5 - 9/8*f1^2*f3^2 + 2*f1*f3*f5 + f1*f3*h1 + 1/8*f3^3 - f5^2 - f5*h1 - h1^2, -1/24*f2^6 + 3/8*f2^4*f4 - 1/3*f2^3*f6 - 9/8*f2^2*f4^2 + 2*f2*f4*f6 + f2*f4*h2 + 1/8*f4^3 - f6^2 - f6*h2 - h2^2 ] > // Construct homomorphism h from A onto (polynomial ring of) R: > h := hom<A -> PolynomialRing(R) | P cat H>; > // Check images of L under h are zero so that elements of L are relations: > h(L); [ 0, 0 ] > // Create relation ideal and check its Hilbert series equals that of R: > I := RelationIdeal(R); > I; Ideal of Graded Polynomial ring of rank 8 over Rational Field Lexicographical Order Variables: f1, f2, f3, f4, f5, f6, h1, h2 Variable weights: 1 1 2 2 3 3 3 3 Basis: [ f1^6 - 9*f1^4*f3 + 8*f1^3*f5 + 27*f1^2*f3^2 - 48*f1*f3*f5 - 24*f1*f3*h1 - 3*f3^3 + 24*f5^2 + 24*f5*h1 + 24*h1^2, f2^6 - 9*f2^4*f4 + 8*f2^3*f6 + 27*f2^2*f4^2 - 48*f2*f4*f6 - 24*f2*f4*h2 - 3*f4^3 + 24*f6^2 + 24*f6*h2 + 24*h2^2 ] > HilbertSeries(I); (t^4 - 2*t^3 + 3*t^2 - 2*t + 1)/(t^10 - 4*t^9 + 6*t^8 - 6*t^7 + 9*t^6 - 12*t^5 + 9*t^4 - 6*t^3 + 6*t^2 - 4*t + 1) > HilbertSeries(I) eq HilbertSeries(R); true