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
-- 1.23941 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.0534387 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
|