|
D.6.1.24 secondary_char0
Procedure from library finvar.lib (see finvar_lib).
- Usage:
secondary_char0(P,REY,M[,v]);
P: a 1xn <matrix> with primary invariants, REY: a gxn <matrix>
representing the Reynolds operator, M: a 1x2 <matrix> giving numerator
and denominator of the Molien series, v: an optional <int>
- Assume:
n is the number of variables of the basering, g the size of the group,
REY is the 1st return value of group_reynolds(), reynolds_molien() or
the second one of primary_invariants(), M the return value of molien()
or the second one of reynolds_molien() or the third one of
primary_invariants()
- Return:
secondary invariants of the invariant ring (type <matrix>) and
irreducible secondary invariants (type <matrix>)
- Display:
information if v does not equal 0
- Theory:
The secondary invariants are calculated by finding a basis (in terms
of monomials) of the basering modulo the primary invariants, mapping
those to invariants with the Reynolds operator and using these images
or their power products such that they are linearly independent modulo
the primary invariants (see paper "Some Algorithms in Invariant
Theory of Finite Groups" by Kemper and Steel (1997)).
Example:
| LIB "finvar.lib";
ring R=0,(x,y,z),dp;
matrix A[3][3]=0,1,0,-1,0,0,0,0,-1;
list L=primary_invariants(A);
matrix S,IS=secondary_char0(L[1..3]);
print(S);
→ 1,xyz,x2z-y2z,x3y-xy3
print(IS);
→ xyz,x2z-y2z,x3y-xy3
|
|