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 |
The object linearlyReductiveAction is a method function.