# invariants(...,UseLinearAlgebra=>...) -- strategy for computing invariants of finite groups

## Synopsis

• Usage:
invariants G
• Inputs:
• Outputs:
• L, a list, a minimal set of generating invariants for the group action

## Description

This function is provided by the package InvariantRing.

This optional argument determines the strategy used to compute generating invariants of a finite group action. The default strategy uses the Reynolds operator, however this may be slow for large groups. Setting this argument to true uses the linear algebra method for computing invariants of a given degree by calling invariants(FiniteGroupAction,ZZ). This may provide a speedup at lower degrees, especially if the user-provided generating set for the group is small.

The following example computes the invariants of the symmetric group on 4 elements. Note that using different strategies may lead to different sets of generating invariants.

 i1 : R = QQ[x_1..x_4] o1 = R o1 : PolynomialRing i2 : L = apply({"2134","2341"},permutationMatrix); i3 : S4 = finiteAction(L,R) o3 = R <- {| 0 1 0 0 |, | 0 0 0 1 |} | 1 0 0 0 | | 1 0 0 0 | | 0 0 1 0 | | 0 1 0 0 | | 0 0 0 1 | | 0 0 1 0 | o3 : FiniteGroupAction i4 : elapsedTime invariants S4 -- 3.06721 seconds elapsed 2 2 2 2 3 3 3 3 4 4 4 o4 = {x + x + x + x , x + x + x + x , x + x + x + x , x + x + x + 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 ------------------------------------------------------------------------ 4 x } 4 o4 : List i5 : elapsedTime invariants(S4,UseLinearAlgebra=>true) -- 0.184621 seconds elapsed o5 = {x + x + x + x , x x + x x + x x + x x + x x + x x , x x x + 1 2 3 4 1 2 1 3 2 3 1 4 2 4 3 4 1 2 3 ------------------------------------------------------------------------ x x x + x x x + x x x , x x x x } 1 2 4 1 3 4 2 3 4 1 2 3 4 o5 : List

## Further information

• Default value: false
• Function: invariants -- computes the generating invariants of a group action
• Option key: UseLinearAlgebra -- strategy for computing invariants of finite groups