| LIB "finvar.lib";
ring R=0,(x,y,z),dp;
matrix A[3][3]=0,1,0,-1,0,0,0,0,-1;
// the group G is generated by A in Gl(3,Q);
print(A);
→ 0, 1,0,
→ -1,0,0,
→ 0, 0,-1
print(A*A*A*A); // the fourth power of A is 1
→ 1,0,0,
→ 0,1,0,
→ 0,0,1
// Use the first method to compute the invariants of G:
matrix B(1..3);
B(1..3)=invariant_ring(A);
// SINGULAR returns 2 matrices, the first containing
// primary invariants and the second secondary
// invariants, i.e., module generators over a Noetherian
// normalization
// the third result are the irreducible secondary invariants
// if the Molien series was available
print(B(1));
→ z2,x2+y2,x2y2
print(B(2));
→ 1,xyz,x2z-y2z,x3y-xy3
print(B(3));
→ xyz,x2z-y2z,x3y-xy3
// Use the second method,
// with random numbers between -1 and 1:
B(1..3)=invariant_ring_random(A,1);
print(B(1..3));
→ z2,x2+y2,x4+y4-z4
→ 1,xyz,x2z-y2z,x3y-xy3
→ xyz,x2z-y2z,x3y-xy3
|