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.