# Singular

#### D.7.1.31 secondary_and_irreducibles_no_molien

Procedure from library `finvar.lib` (see finvar_lib).

Usage:
secondary_and_irreducibles_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 non-trivial homogeneous 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:
secondary invariants of the invariant ring (type <matrix>) and irreducible secondary invariants (type <matrix>)

Display:
information if v does not equal 0

Theory:
Secondary invariants are calculated by finding a basis (in terms of monomials) of the basering modulo 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). We have the Reynolds operator, hence, we are in the non-modular case. Therefore, the invariant ring is Cohen-Macaulay, hence the number of secondary invariants is the product of the degrees of primary invariants divided by the group order.

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 S,IS=secondary_and_irreducibles_no_molien(L[1..2],intvec(1,2),1); ==> ==> We need to find 4 secondary invariants. ==> ==> In degree 0 we have: 1 ==> ==> Searching in degree 3 ==> Looking for Power Products... ==> Looking for irreducible secondary invariants in degree 3 ==> We found irreducible sec. inv. number 1 in degree 3 ==> We found irreducible sec. inv. number 2 in degree 3 ==> ==> Searching in degree 4 ==> Looking for Power Products... ==> Looking for irreducible secondary invariants in degree 4 ==> We found irreducible sec. inv. number 1 in degree 4 ==> ==> ==> We're done! ==> print(S); ==> 1,xyz,x2z-y2z,x3y-xy3 print(IS); ==> xyz,x2z-y2z,x3y-xy3 ```