Procedure from library finvar.lib (see finvar_lib).
finvar.lib
evaluate_reynolds(REY,I); REY: a <matrix> representing the Reynolds operator, I: an arbitrary <ideal>
REY is the first return value of group_reynolds() or reynolds_molien()
image of the polynomials defining I under the Reynolds operator (type <ideal>)
the characteristic of the coefficient field of the polynomial ring should not divide the order of the finite matrix group
REY has been constructed in such a way that each row serves as a ring mapping of which the Reynolds operator is made up.
Example:
LIB "finvar.lib"; ring R=0,(x,y,z),dp; matrix A[3][3]=0,1,0,-1,0,0,0,0,-1; list L=group_reynolds(A); ideal I=x2,y2,z2; print(evaluate_reynolds(L[1],I)); → 1/2x2+1/2y2, → 1/2x2+1/2y2, → z2