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
-- .447086s 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)
-- .0420736s 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
|