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.