Home Online Manual
Top
Back: secondary_no_molien
Forward: secondary_and_irreducibles_no_molien
FastBack: Invariant theory
FastForward: ainvar_lib
Up: finvar_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.7.1.30 irred_secondary_no_molien

Procedure from library finvar.lib (see finvar_lib).

Usage:
irred_secondary_no_molien(P,REY[,deg_vec,v]);
P: a 1xn <matrix> with primary invariants, REY: a gxn <matrix> representing the Reynolds operator, deg_vec: an optional <intvec> listing some degrees where no irreducible secondary invariants can be found, 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()

Return:
Irreducible secondary invariants of the invariant ring (type <matrix>)

Display:
information if v does not equal 0

Theory:
Irred. secondary invariants are calculated by finding a basis (in terms of monomials) of the basering modulo primary and previously found secondary invariants, mapping those to invariants with the Reynolds operator. Among these images we pick secondary invariants, using Groebner basis techniques.

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,intvec(1,1,0));
// In that example, there are no secondary invariants
// in degree 1 or 2.
matrix IS=irred_secondary_no_molien(L[1..2],intvec(1,2),1);
==> 
==> Searching irred. sec. inv. in degree  3
==>   We have  4  candidates for irred. secondaries
==>     We found irr. sec. inv. number  1  in degree  3
==>     We found irr. sec. inv. number  2  in degree  3
==> Searching irred. sec. inv. in degree  4
==>   We have  1  candidates for irred. secondaries
==>     We found irr. sec. inv. number  3  in degree  4
==> Searching irred. sec. inv. in degree  5
==> Searching irred. sec. inv. in degree  6
==> Searching irred. sec. inv. in degree  7
==> Searching irred. sec. inv. in degree  8
==> Searching irred. sec. inv. in degree  9
==> Searching irred. sec. inv. in degree  10
==> Searching irred. sec. inv. in degree  11
==> Searching irred. sec. inv. in degree  12
==> Searching irred. sec. inv. in degree  13
print(IS);
==> x2z-y2z,xyz,x3y-xy3
See also: irred_secondary_char0.