|
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.
BinaryForms(n, p) : RngIntElt, RngIntElt -> RngMPol, [[RngMPolElt]], RngMPol
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.
We consider invariant ring of the group G = SL 2(Q), which is
is characterised by the equation det(A)=1.
> 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 I 3 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 SL n 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
]
As a second example, we consider the representation of the group
SL 2(Q) x SL 2(Q) x SL 2(Q) given by the tensor
product of the canonical representation:
> 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.000
So in this case, we find that the invariant ring is generated by a single
polynomial.
We compute fundamental invariants for the
invariant ring of G = SL 2(Q) acting on a space of binary forms.
> 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
We do simple computations on an invariant ring of an algebraic group.
The group is not reductive, so fundamental invariants cannot be computed,
but invariants of specific degrees can be.
> 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
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|