# reynoldsOperator -- the image of a polynomial under the Reynolds operator

## Synopsis

• Usage:
reynoldsOperator(f, G), reynoldsOperator(f, D)
• Inputs:
• f, , a polynomial in the polynomial ring of the given group action
• G, an instance of the type FiniteGroupAction
• D, an instance of the type DiagonalAction
• Outputs:
• , the invariant polynomial which is the image of the given polynomial under the Reynolds operator of the given finite group action or the given torus action

## Description

This function is provided by the package InvariantRing.

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

## Ways to use reynoldsOperator :

• "reynoldsOperator(RingElement,DiagonalAction)"
• "reynoldsOperator(RingElement,FiniteGroupAction)"

## For the programmer

The object reynoldsOperator is .