"Source: Text/Commut/RngInvar.text";
"Line: 1390";
"Date: Thu Sep 25 14:47:46 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Commut/RngInvar.text, line: 1390
// Example: H120E12 ()
print "Example: H120E12";
ei := GetEchoInput();
SetEchoInput(true);
G := PermutationGroup<6 | (1, 2, 3), (4, 5, 6)>;
R := InvariantRing(G, RationalField());
P := PrimaryInvariants(R);
P;
S := SecondaryInvariants(R);
S;
H := IrreducibleSecondaryInvariants(R);
H;
A, Q := Algebra(R);
A;
Q;
// Thus S[4] must be H[1]*H[2]:
S[4];
H[1];
H[2];
H[1]*H[2] eq S[4];
assert $1;
L := Relations(R);
L;
// 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);
// Create relation ideal and check its Hilbert series equals that of R:
I := RelationIdeal(R);               
I;
HilbertSeries(I);
HilbertSeries(I) eq HilbertSeries(R);
assert $1;
SetEchoInput(ei);
