The following example defines the action of a symmetric group permuting the three variables generating a polynomial ring.
i1 : R = QQ[x_1..x_4] o1 = R o1 : PolynomialRing |
i2 : P = apply(3, i -> permutationMatrix(4, [i + 1, i + 2] ) )
o2 = {| 0 1 0 0 |, | 1 0 0 0 |, | 1 0 0 0 |}
| 1 0 0 0 | | 0 0 1 0 | | 0 1 0 0 |
| 0 0 1 0 | | 0 1 0 0 | | 0 0 0 1 |
| 0 0 0 1 | | 0 0 0 1 | | 0 0 1 0 |
o2 : List
|
i3 : S4 = finiteAction(P, R)
o3 = R <- {| 0 1 0 0 |, | 1 0 0 0 |, | 1 0 0 0 |}
| 1 0 0 0 | | 0 0 1 0 | | 0 1 0 0 |
| 0 0 1 0 | | 0 1 0 0 | | 0 0 0 1 |
| 0 0 0 1 | | 0 0 0 1 | | 0 0 1 0 |
o3 : FiniteGroupAction
|
i4 : isAbelian S4 o4 = false |
The following example defines the action of the product of two cyclic groups. One group has order 3 and cyclically permutes the three variables generating a polynomial ring. The other group has order 2 and multiplies the variables by -1.
i5 : R = QQ[x_1..x_3] o5 = R o5 : PolynomialRing |
i6 : L = {matrix {{0,0,1},{0,1,0},{1,0,0}}, matrix {{-1,0,0},{0,-1,0},{0,0,-1}} }
o6 = {| 0 0 1 |, | -1 0 0 |}
| 0 1 0 | | 0 -1 0 |
| 1 0 0 | | 0 0 -1 |
o6 : List
|
i7 : G = finiteAction(L, R)
o7 = R <- {| 0 0 1 |, | -1 0 0 |}
| 0 1 0 | | 0 -1 0 |
| 1 0 0 | | 0 0 -1 |
o7 : FiniteGroupAction
|
i8 : isAbelian G o8 = true |
The object isAbelian is a method function.