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.