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. Suppose also that the
irreducible secondary invariants for R are S = { h_1, ..., 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, ..., t_r.
Then R is generated as an algebra over K by the primary invariants
f_1, ..., f_n and the irreducible secondary invariants h_1, ..., 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, ..., f_n, h_1, ..., 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).
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).
> 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