The following example computes the image of a polynomial under the Reynolds operator for a cyclic permutation of the variables.
i1 : R = ZZ/3[x_0..x_6] o1 = R o1 : PolynomialRing |
i2 : P = permutationMatrix toString 2345671
o2 = | 0 0 0 0 0 0 1 |
| 1 0 0 0 0 0 0 |
| 0 1 0 0 0 0 0 |
| 0 0 1 0 0 0 0 |
| 0 0 0 1 0 0 0 |
| 0 0 0 0 1 0 0 |
| 0 0 0 0 0 1 0 |
7 7
o2 : Matrix ZZ <--- ZZ
|
i3 : C7 = finiteAction(P, R)
o3 = R <- {| 0 0 0 0 0 0 1 |}
| 1 0 0 0 0 0 0 |
| 0 1 0 0 0 0 0 |
| 0 0 1 0 0 0 0 |
| 0 0 0 1 0 0 0 |
| 0 0 0 0 1 0 0 |
| 0 0 0 0 0 1 0 |
o3 : FiniteGroupAction
|
i4 : reynoldsOperator(x_0*x_1*x_2^2, C7)
2 2 2 2 2 2 2
o4 = x x x + x x x + x x x + x x x + x x x + x x x + x x x
0 1 2 1 2 3 2 3 4 3 4 5 0 1 6 0 5 6 4 5 6
o4 : R
|
Here is an example computing the image of a polynomial under the Reynolds operator for a two-dimensional torus acting on polynomial ring in four variables:
i5 : R = QQ[x_1..x_4] o5 = R o5 : PolynomialRing |
i6 : W = matrix{{0,1,-1,1}, {1,0,-1,-1}}
o6 = | 0 1 -1 1 |
| 1 0 -1 -1 |
2 4
o6 : Matrix ZZ <--- ZZ
|
i7 : T = diagonalAction(W, R)
* 2
o7 = R <- (QQ ) via
| 0 1 -1 1 |
| 1 0 -1 -1 |
o7 : DiagonalAction
|
i8 : reynoldsOperator(x_1*x_2*x_3 + x_1*x_2*x_4, T)
o8 = x x x
1 2 3
o8 : R
|
The object reynoldsOperator is a method function.