# secondaryInvariants -- computes secondary invariants for the invariant ring of a finite group

## Synopsis

• Usage:
secondaryInvariants(P,G)
• Inputs:
• P, a list, a list of primary invariants in n variables f1,...,fn for the invariant ring of G defined over a field K of characteristic zero
• G, an instance of the type FiniteGroupAction
• Optional inputs:
• PrintDegreePolynomial => ..., default value false, an optional argument for secondaryInvariants that determines the printing of an informative polynomial
• Outputs:
• a list, a list S of secondary invariants for the invariant ring R=K[x1,...,xn]G of G that makes R into a free K[f1,...,fn]-module with basis S

## Description

The example below computes the secondary invariants for the dihedral group with 6 elements, given a set of primary invariantsP.

 i1 : K=toField(QQ[a]/(a^2+a+1)); i2 : R=K[x,y]; i3 : A=matrix{{a,0},{0,a^2}}; 2 2 o3 : Matrix K <--- K i4 : B=sub(matrix{{0,1},{1,0}},K); 2 2 o4 : Matrix K <--- K i5 : D6=finiteAction({A,B},R) o5 = R <- {| a 0 |, | 0 1 |} | 0 -a-1 | | 1 0 | o5 : FiniteGroupAction i6 : P={x^3+y^3,-(x^3-y^3)^2}; i7 : secondaryInvariants(P,D6) 2 2 o7 = {1, x*y, x y } o7 : List

This function is provided by the package InvariantRing.

## Caveat

Currently, a user needs to ensure that the all primary invariants are defined with coefficients in a ring that Macaulay2 recognises as a characteristic zero field (see toField for a way to do this).

Note also that the function secondaryInvariants only works when R is defined over a field of characteristic zero.

## Ways to use secondaryInvariants :

• "secondaryInvariants(List,FiniteGroupAction)"

## For the programmer

The object secondaryInvariants is .