|
D.7.1.28 secondary_charp
Procedure from library finvar.lib (see finvar_lib).
- Usage:
- secondary_charp(P,REY,ringname[,v][,"old"]);
P: a 1xn <matrix> with homogeneous primary invariants, where
n is the number of variables of the basering;
REY: a gxn <matrix> representing the Reynolds operator, where
g the size of the corresponding group;
ringname: a <string> giving the name of a ring of characteristic 0
containing a 1x2 <matrix> M giving numerator and denominator of the Molien
series;
v: an optional <int>;
"old": if this string occurs as (optional) parameter, then an
old version of secondary_char0 is used (for downward
compatibility)
- Assume:
- The characteristic of basering is not zero;
REY is the 1st return value of group_reynolds(), reynolds_molien() or
the second one of primary_invariants();
`ringname` is the name of a ring of characteristic 0 that has been created
by molien() or reynolds_molien() or 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. Among these images
or their power products we pick secondary invariants using Groebner
basis techniques (see S. King: Fast Computation of Secondary Invariants).
The size of this set can be read off from the Molien series.
Example:
| LIB "finvar.lib";
ring R=3,(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_charp(L[1..size(L)],1);
==>
==> We need to find
==> 1 secondary invariant in degree 0
==> 0 secondary invariants in degree 1
==> 0 secondary invariants in degree 2
==> 2 secondary invariants in degree 3
==> 1 secondary invariant in degree 4
==> In degree 0 we have: 1
==>
==> Searching in degree 3 , we need to find 2 invariant(s)...
==> Looking for Power Products...
==> There are 2 irreducible secondary invariants in degree 3
==> We found all 2 irreducibles in degree 3
==>
==> Searching in degree 4 , we need to find 1 invariant(s)...
==> Looking for Power Products...
==> There are 1 irreducible secondary invariants in degree 4
==> We found all 1 irreducibles in degree 4
==>
==> We're done!
==>
print(S);
==> 1,xyz,x2z-y2z,x3y-xy3
print(IS);
==> xyz,x2z-y2z,x3y-xy3
|
|