By definition, a linear algebraic group is an affine variety G together with morphisms giving G the structure of a group. In the invariant theory algorithms of Magma, the group structure of G is nowhere required. Therefore an algebraic group will be defined by simply giving polynomials defining G as an affine variety. A G-module of an algebraic group is a finite dimensional vector space Kn together with a morphism G to GLn of algebraic groups. In Magma, such a morphism is given by specifying an n by n matrix whose entries are polynomials in the same variables as the polynomials specifying G (for more details, see section Algebraic Group Actions on Polynomials). An invariant ring of a linear algebraic group is constructed by giving a linear algebraic group together with a G-module. Magma makes no checks that the variety defined by the user has a multiplication making it into an algebraic group, or that the morphism G to GLn(K) really provides an action of G. If they do not, the computations will have unpredictable results. Likewise, Magma is unable to decide whether an algebraic group is reductive or linearly reductive. Therefore the user should indicate whether a group has these properties at creation by the options described below. This is important because Derksen's algorithm only works for linearly reductive groups.
Reductive: BoolElt Default: false
LinearlyReductive: BoolElt Default: false
PolynomialRing: RngMPol Default:
Construct the invariant ring R for the algebraic group G defined by the ideal I and representation matrix A.If the parameter Reductive is set to {true}, then G is assumed to be reductive, while if the parameter LinearlyReductive is set to {true}, then G is assumed to be linearly reductive.
If the parameter PolynomialRing is set to a value P, then P is used as the polynomial ring in which the invariants of R will lie.
Let N = [n1, ..., nk] be a sequence of positive integers and let p be a positive prime or zero. Let G = SL2(K) with K an algebraically closed field of characteristic p. This function defines the action on a direct sum of spaces of binary forms with degrees given by the ni. The function returns three items: the ideal IG defining G as an algebraic group, the representation matrix A (as a sequence of sequences of polynomials), and a polynomial ring on which G acts with appropriate naming of variables.The second version of the function is given an integer n, and takes N to be [n].
Given an invariant ring R defined over an algebraic group G, return the ideal I defining G.
Given an invariant ring R defined over an algebraic group G, return the representation matrix A for G.
Return a K-basis of the space Rd of the homogeneous invariants of degree d in the invariant ring R=K[V]G of the algebraic group G over the field K as a sequence of polynomials.
Optimize: BoolElt Default: true
Minimize: BoolElt Default: true
MinimizeHilbert: BoolElt Default: true
Force: BoolElt Default: false
Given an invariant ring R defined over an algebraic group, return a sequence of fundamental invariants of R, using Derksen's algorithm.By default, the computation of homogeneous invariants is optimized by extending at each the degree the basis obtained from multiplying lower-degree invariants by appropriate monomials. This method can be suppressed by setting Optimize to false. By default the generators will be minimal. By setting the parameter Minimize to {false}, no minimization will be attempted. By setting the parameter MinimizeHilbert to {false}, the basis of the Hilbert ideal will not be minimized.
By default the group must be linearly reductive. Setting the parameter Force to true will force the application of Derksen's algorithm even though the group may not be linearly reductive.
Given an invariant ring R defined over an algebraic group, return a sequence of generators of the Derksen ideal of R. The Derksen ideal is an ideal D of P[y1, ..., yn], where P = K[x1 , ..., xn] is the ambient polynomial ring of R, and the yi are new indeterminates. By definition, D is the intersection of all the ideals < y1 - g(x1), ..., yn - g(xn) > for all g ∈G, the group of R. Geometrically, D is the vanishing ideal of the subset {(x, g(x)) |x ∈Kn, g ∈G} of the cartesian product Kn x Kn.
Minimize: BoolElt Default: true
Force: BoolElt Default: false
Given an invariant ring R defined over a linear algebraic group, return the Hilbert ideal of R. This is the ideal in the polynomial ring generated by all non-constant, homogeneous invariants. The result is a sequence of homogeneous generators (not necessarily invariant).By default the generators will be minimal. By setting the parameter Minimize to {false}, no minimization will be attempted. Also, setting the parameter Force to true will force the application of Derksen's algorithm even though the group may not be linearly reductive.
> Q := RationalField(); > P<[a]>:=PolynomialRing(Q, 4); > A := MatrixRing(P,2)!a; > IG := ideal<P | Determinant(A) - 1>; > IG; Ideal of Polynomial ring of rank 4 over Rational Field Lexicographical Order Variables: a[1], a[2], a[3], a[4] Basis: [ a[1]*a[4] - a[2]*a[3] - 1 ]The simultaneous action of G on three vectors is given by the matrix I3 tensor A:
> T := TensorProduct(MatrixRing(P, 3) ! 1, A); > T; [a[1] a[2] 0 0 0 0] [a[3] a[4] 0 0 0 0] [ 0 0 a[1] a[2] 0 0] [ 0 0 a[3] a[4] 0 0] [ 0 0 0 0 a[1] a[2]] [ 0 0 0 0 a[3] a[4]]We create the invariant ring R of G (which is reductive) with this action and compute fundamental invariants.
> IR := InvariantRing(IG, T: Reductive); > FundamentalInvariants(IR); [ x3*x6 - x4*x5, x1*x6 - x2*x5, x1*x4 - x2*x3 ]We see that there are three fundamental invariants. It is well known that the invariant ring of the simultaneous action of SLn on m vectors is generated by the minors of the n x m matrix formed by the vectors. We can see this in the present case.
> R<x1,x2,x3,x4,x5,x6> := PolynomialRing(Q, 6); > M := Matrix([[x1,x3,x5], [x2,x4,x6]]); > M; [x1 x3 x5] [x2 x4 x6] > Minors(M, 2); [ x1*x4 - x2*x3, -x1*x6 + x2*x5, x3*x6 - x4*x5 ]
> n:=3; > P<[x]>:=PolynomialRing(RationalField(), n*4, "grevlex"); > L_A := [MatrixRing(P,2)!x[i..i+3]:i in [1..n*4 by 4]]; > IG := ideal<P|[Determinant(A)-1:A in L_A]>; > IG; Ideal of Polynomial ring of rank 12 over Rational Field Graded Reverse Lexicographical Order Variables: x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12] Basis: [ -x[2]*x[3] + x[1]*x[4] - 1, -x[6]*x[7] + x[5]*x[8] - 1, -x[10]*x[11] + x[9]*x[12] - 1 ] > > M:=L_A[1]; > for i:=2 to n do > M:=TensorProduct(M,L_A[i]); > end for; > M; [x[1]*x[5]*x[9] x[1]*x[5]*x[10] x[1]*x[6]*x[9] x[1]*x[6]*x[10] x[2]*x[5]*x[9] x[2]*x[5]*x[10] x[2]*x[6]*x[9] x[2]*x[6]*x[10]] [x[1]*x[5]*x[11] x[1]*x[5]*x[12] x[1]*x[6]*x[11] x[1]*x[6]*x[12] x[2]*x[5]*x[11] x[2]*x[5]*x[12] x[2]*x[6]*x[11] x[2]*x[6]*x[12]] [x[1]*x[7]*x[9] x[1]*x[7]*x[10] x[1]*x[8]*x[9] x[1]*x[8]*x[10] x[2]*x[7]*x[9] x[2]*x[7]*x[10] x[2]*x[8]*x[9] x[2]*x[8]*x[10]] [x[1]*x[7]*x[11] x[1]*x[7]*x[12] x[1]*x[8]*x[11] x[1]*x[8]*x[12] x[2]*x[7]*x[11] x[2]*x[7]*x[12] x[2]*x[8]*x[11] x[2]*x[8]*x[12]] [x[3]*x[5]*x[9] x[3]*x[5]*x[10] x[3]*x[6]*x[9] x[3]*x[6]*x[10] x[4]*x[5]*x[9] x[4]*x[5]*x[10] x[4]*x[6]*x[9] x[4]*x[6]*x[10]] [x[3]*x[5]*x[11] x[3]*x[5]*x[12] x[3]*x[6]*x[11] x[3]*x[6]*x[12] x[4]*x[5]*x[11] x[4]*x[5]*x[12] x[4]*x[6]*x[11] x[4]*x[6]*x[12]] [x[3]*x[7]*x[9] x[3]*x[7]*x[10] x[3]*x[8]*x[9] x[3]*x[8]*x[10] x[4]*x[7]*x[9] x[4]*x[7]*x[10] x[4]*x[8]*x[9] x[4]*x[8]*x[10]] [x[3]*x[7]*x[11] x[3]*x[7]*x[12] x[3]*x[8]*x[11] x[3]*x[8]*x[12] x[4]*x[7]*x[11] x[4]*x[7]*x[12] x[4]*x[8]*x[11] x[4]*x[8]*x[12]] > IR:=InvariantRing(IG, M: Reductive); > time FundamentalInvariants(IR); [ x1^2*x8^2 - 2*x1*x2*x7*x8 - 2*x1*x3*x6*x8 - 2*x1*x4*x5*x8 + 4*x1*x4*x6*x7 + x2^2*x7^2 + 4*x2*x3*x5*x8 - 2*x2*x3*x6*x7 - 2*x2*x4*x5*x7 + x3^2*x6^2 - 2*x3*x4*x5*x6 + x4^2*x5^2 ] Time: 0.610 > time DerksenIdeal(IR); [ y1^2*y8^2 - 2*y1*y2*y7*y8 - 2*y1*y3*y6*y8 - 2*y1*y4*y5*y8 + 4*y1*y4*y6*y7 + y2^2*y7^2 + 4*y2*y3*y5*y8 - 2*y2*y3*y6*y7 - 2*y2*y4*y5*y7 + y3^2*y6^2 - 2*y3*y4*y5*y6 + y4^2*y5^2 - x1^2*x8^2 + 2*x1*x2*x7*x8 + 2*x1*x3*x6*x8 + 2*x1*x4*x5*x8 - 4*x1*x4*x6*x7 - x2^2*x7^2 - 4*x2*x3*x5*x8 + 2*x2*x3*x6*x7 + 2*x2*x4*x5*x7 - x3^2*x6^2 + 2*x3*x4*x5*x6 - x4^2*x5^2 ] Time: 0.010 > time HilbertIdeal(IR); [ x1^2*x8^2 - 2*x1*x2*x7*x8 - 2*x1*x3*x6*x8 - 2*x1*x4*x5*x8 + 4*x1*x4*x6*x7 + x2^2*x7^2 + 4*x2*x3*x5*x8 - 2*x2*x3*x6*x7 - 2*x2*x4*x5*x7 + x3^2*x6^2 - 2*x3*x4*x5*x6 + x4^2*x5^2 ] Time: 0.000So in this case, we find that the invariant ring is generated by a single polynomial.
> IG, A := BinaryForms([1,1,2,2], 0); > IG; Ideal of Polynomial ring of rank 4 over Rational Field Lexicographical Order Variables: t1, t2, t3, t4 Basis: [ t1*t4 - t2*t3 - 1 ] > A; [t4 -t3 0 0 0 0 0 0 0 0] [-t2 t1 0 0 0 0 0 0 0 0] [0 0 t4 -t3 0 0 0 0 0 0] [0 0 -t2 t1 0 0 0 0 0 0] [0 0 0 0 t4^2 -t3*t4 t3^2 0 0 0] [0 0 0 0 -2*t2*t4 t1*t4 + t2*t3 -2*t1*t3 0 0 0] [0 0 0 0 t2^2 -t1*t2 t1^2 0 0 0] [0 0 0 0 0 0 0 t4^2 -t3*t4 t3^2] [0 0 0 0 0 0 0 -2*t2*t4 t1*t4 + t2*t3 -2*t1*t3] [0 0 0 0 0 0 0 t2^2 -t1*t2 t1^2] > R:=InvariantRing(IG,A: LinearlyReductive); > time FundamentalInvariants(R); [ x8*x10 - 1/4*x9^2, x5*x10 - 1/2*x6*x9 + x7*x8, x5*x7 - 1/4*x6^2, x1*x4 - x2*x3, x1*x3*x7 - 1/2*x1*x4*x6 - 1/2*x2*x3*x6 + x2*x4*x5, x1*x3*x10 - 1/2*x1*x4*x9 - 1/2*x2*x3*x9 + x2*x4*x8, x3^2*x10 - x3*x4*x9 + x4^2*x8, x3^2*x7 - x3*x4*x6 + x4^2*x5, x1^2*x10 - x1*x2*x9 + x2^2*x8, x1^2*x7 - x1*x2*x6 + x2^2*x5, x1*x2*x5*x10 - x1*x2*x7*x8 - x2^2*x5*x9 + x2^2*x6*x8, x1*x4*x5*x10 - 1/2*x1*x4*x6*x9 + x1*x4*x7*x8 - 1/2*x2*x3*x5*x10 + 1/2*x2*x3*x6*x9 - 3/2*x2*x3*x7*x8 - 1/2*x2*x4*x5*x9 + 1/2*x2*x4*x6*x8, x3*x4*x5*x10 - x3*x4*x7*x8 - x4^2*x5*x9 + x4^2*x6*x8 ] Time: 0.650
> K := RationalField(); > Pa<a,b> := PolynomialRing(K, 2); > IG := ideal<Pa|>; > A := Matrix(7, > [1, 0, 0, 0, 0, 0, 0, a, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, > 0, 0, 0, 0, a, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, > a, 1, 0, 0, 0, 0, 0, b, 0, 1 ]); > A; [1 0 0 0 0 0 0] [a 1 0 0 0 0 0] [0 0 1 0 0 0 0] [0 0 a 1 0 0 0] [0 0 0 0 1 0 0] [0 0 0 0 a 1 0] [0 0 0 0 b 0 1] > R:=InvariantRing(IG, A); > R; Invariant Ring of algebraic group Field of definition: Rational Field > InvariantsOfDegree(R, 1); [ x1, x3, x5 ] > InvariantsOfDegree(R, 2); [ x1^2, x1*x3, x1*x4 - x2*x3, x1*x5, x1*x6 - x2*x5, x3^2, x3*x5, x3*x6 - x4*x5, x5^2 ] > FundamentalInvariants(R); >> FundamentalInvariants(R); ^ Runtime error in 'FundamentalInvariants': Computing fundamental invariants (via Derksen's algorithm) is only possible for linearly reductive groups