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 { f1, ..., fn } for R have been constructed, together with minimal secondary invariants S = { g1, ..., gm } for R with respect to these primary invariants. Suppose also that the irreducible secondary invariants for R are S = { h1, ..., hr } so that the gi are power products of the hi. We write gi=pi(hi) where the pi are monomials of the indeterminates t1, ..., tr. Then R is generated as an algebra over K by the primary invariants f1, ..., fn and the irreducible secondary invariants h1, ..., hr. 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.
Given an invariant ring R=K[V]G, return the polynomial algebra A=K[f1, ..., fn, h1, ..., hr] 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 pi(ti) 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).
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.
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).
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).
Given an invariant ring R=K[V]G, return the ideal generated by the primary invariants of R (this is stored in R).
> 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