# linearlyReductiveAction -- Linearly reductive group action

## Synopsis

• Usage:
linearlyReductiveAction(I, M, R)
linearlyReductiveAction(I, M, Q)
• Inputs:
• I, an ideal, of a polynomial ring S defining a group as an affine variety
• M, , whose entries are in S, that encodes the group action on R
• R, , on which the group acts
• Q, , on which the group acts
• Outputs:

## Description

This function is provided by the package InvariantRing.

In order to encode a linearly reductive group action, we represent the group as an affine variety. The polynomial ring S is the coordinate ring of the ambient affine space containing the group, while I is the ideal of S defining the group as a subvariety. In other words, the elements of the group are the points of the affine variety with coordinate ring S/I. The group acts linearly on the polynomial ring R via the matrix M with entries in S.

The next example constructs a cyclic group of order 2 as a set of two affine points. Then it introduces an action of this group on a polynomial ring in two variables.

 i1 : S = QQ[z] o1 = S o1 : PolynomialRing i2 : I = ideal(z^2 - 1) 2 o2 = ideal(z - 1) o2 : Ideal of S i3 : M = matrix{{(z+1)/2, (1-z)/2},{(1-z)/2, (z+1)/2}} o3 = | 1/2z+1/2 -1/2z+1/2 | | -1/2z+1/2 1/2z+1/2 | 2 2 o3 : Matrix S <--- S i4 : sub(M,z=>1),sub(M,z=>-1) o4 = (| 1 0 |, | 0 1 |) | 0 1 | | 1 0 | o4 : Sequence i5 : R = QQ[x,y] o5 = R o5 : PolynomialRing i6 : L = linearlyReductiveAction(I, M, R) 2 o6 = R <- S/ideal(z - 1) via | 1/2z+1/2 -1/2z+1/2 | | -1/2z+1/2 1/2z+1/2 | o6 : LinearlyReductiveAction

This function is also used to define linearly reductive group actions on quotients of polynomial rings. We illustrate by a slight variation on the previous example.

 i7 : S = QQ[z]; i8 : I = ideal(z^2 - 1); o8 : Ideal of S i9 : M = matrix{{(z+1)/2, (1-z)/2},{(1-z)/2, (z+1)/2}}; 2 2 o9 : Matrix S <--- S i10 : Q = QQ[x,y] / ideal(x*y) o10 = Q o10 : QuotientRing i11 : L = linearlyReductiveAction(I, M, Q) 2 o11 = Q <- S/ideal(z - 1) via | 1/2z+1/2 -1/2z+1/2 | | -1/2z+1/2 1/2z+1/2 | o11 : LinearlyReductiveAction

## Ways to use linearlyReductiveAction :

• "linearlyReductiveAction(Ideal,Matrix,PolynomialRing)"
• "linearlyReductiveAction(Ideal,Matrix,QuotientRing)"

## For the programmer

The object linearlyReductiveAction is .