Description
Dade takes Boolean values and is set to false by default. If Dade is set to true, then primaryInvariants will use the Dade algorithm to calculate a homogeneous system of parameters (hsop) for the invariant ring of a finite group.
The example below computes the invariant ring of S3 acting on QQ[x,y,z] by permutations on the variables. Dade is set to true.
i1 : A=matrix{{0,1,0},{0,0,1},{1,0,0}};
3 3
o1 : Matrix ZZ <-- ZZ
|
i2 : B=matrix{{0,1,0},{1,0,0},{0,0,1}};
3 3
o2 : Matrix ZZ <-- ZZ
|
i3 : S3=finiteAction({A,B},QQ[x,y,z])
o3 = QQ[x..z] <- {| 0 1 0 |, | 0 1 0 |}
| 0 0 1 | | 1 0 0 |
| 1 0 0 | | 0 0 1 |
o3 : FiniteGroupAction
|
i4 : primaryInvariants(S3,Dade=>true)
6 5 4 2 3 3
o4 = {262440000x + 1996002000x y + 5790722400x y + 8116143300x y +
------------------------------------------------------------------------
2 4 5 6 5
5790722400x y + 1996002000x*y + 262440000y + 1996002000x z +
------------------------------------------------------------------------
4 3 2 2 3
12566510100x y*z + 28505200770x y z + 28505200770x y z +
------------------------------------------------------------------------
4 5 4 2 3 2
12566510100x*y z + 1996002000y z + 5790722400x z + 28505200770x y*z +
------------------------------------------------------------------------
2 2 2 3 2 4 2 3 3
46353542149x y z + 28505200770x*y z + 5790722400y z + 8116143300x z
------------------------------------------------------------------------
2 3 2 3 3 3
+ 28505200770x y*z + 28505200770x*y z + 8116143300y z +
------------------------------------------------------------------------
2 4 4 2 4 5
5790722400x z + 12566510100x*y*z + 5790722400y z + 1996002000x*z +
------------------------------------------------------------------------
5 6 6 5 4 2 3 3
1996002000y*z + 262440000z , 324x + 3888x y + 15327x y + 24426x y +
------------------------------------------------------------------------
2 4 5 6 5 4 3 2
15327x y + 3888x*y + 324y + 3888x z + 34506x y*z + 91134x y z +
------------------------------------------------------------------------
2 3 4 5 4 2 3 2
91134x y z + 34506x*y z + 3888y z + 15327x z + 91134x y*z +
------------------------------------------------------------------------
2 2 2 3 2 4 2 3 3 2 3
160138x y z + 91134x*y z + 15327y z + 24426x z + 91134x y*z +
------------------------------------------------------------------------
2 3 3 3 2 4 4 2 4 5
91134x*y z + 24426y z + 15327x z + 34506x*y*z + 15327y z + 3888x*z
------------------------------------------------------------------------
5 6 6 5 4 2
+ 3888y*z + 324z , 810000x + 13824000x y + 69234300x y +
------------------------------------------------------------------------
3 3 2 4 5 6 5
126729000x y + 69234300x y + 13824000x*y + 810000y + 13824000x z +
------------------------------------------------------------------------
4 3 2 2 3 4
180417600x y*z + 596611320x y z + 596611320x y z + 180417600x*y z +
------------------------------------------------------------------------
5 4 2 3 2 2 2 2
13824000y z + 69234300x z + 596611320x y*z + 1319475529x y z +
------------------------------------------------------------------------
3 2 4 2 3 3 2 3
596611320x*y z + 69234300y z + 126729000x z + 596611320x y*z +
------------------------------------------------------------------------
2 3 3 3 2 4 4
596611320x*y z + 126729000y z + 69234300x z + 180417600x*y*z +
------------------------------------------------------------------------
2 4 5 5 6
69234300y z + 13824000x*z + 13824000y*z + 810000z }
o4 : List
|
Compare this result to the hsop output when Dade is left to its default value false.
i5 : primaryInvariants(S3)
3 3 3
o5 = {x + y + z, x*y + x*z + y*z, x + y + z }
o5 : List
|
Below, the invariant ring QQ[x,y,z]S3 is calculated with K being the field with 101 elements.
i6 : K=GF(101)
o6 = K
o6 : GaloisField
|
i7 : S3=finiteAction({A,B},K[x,y,z])
o7 = K[x..z] <- {| 0 1 0 |, | 0 1 0 |}
| 0 0 1 | | 1 0 0 |
| 1 0 0 | | 0 0 1 |
o7 : FiniteGroupAction
|
i8 : primaryInvariants(S3,Dade=>true)
6 5 4 2 3 3 2 4 5 6 5
o8 = {22x - 20x y - 19x y - 50x y - 19x y - 20x*y + 22y - 20x z +
------------------------------------------------------------------------
4 3 2 2 3 4 5 4 2 3 2
11x y*z - 29x y z - 29x y z + 11x*y z - 20y z - 19x z - 29x y*z +
------------------------------------------------------------------------
2 2 2 3 2 4 2 3 3 2 3 2 3 3 3
12x y z - 29x*y z - 19y z - 50x z - 29x y*z - 29x*y z - 50y z -
------------------------------------------------------------------------
2 4 4 2 4 5 5 6 6 5 4 2
19x z + 11x*y*z - 19y z - 20x*z - 20y*z + 22z , 6x + 37x y + 2x y
------------------------------------------------------------------------
3 3 2 4 5 6 5 4 3 2 2 3
+ 24x y + 2x y + 37x*y + 6y + 37x z + 13x y*z + 29x y z + 29x y z +
------------------------------------------------------------------------
4 5 4 2 3 2 2 2 2 3 2 4 2
13x*y z + 37y z + 2x z + 29x y*z + 15x y z + 29x*y z + 2y z +
------------------------------------------------------------------------
3 3 2 3 2 3 3 3 2 4 4 2 4
24x z + 29x y*z + 29x*y z + 24y z + 2x z + 13x*y*z + 2y z +
------------------------------------------------------------------------
5 5 6 6 5 4 2 3 3 2 4 5
37x*z + 37y*z + 6z , 21x - 42x y + 43x y - 44x y + 43x y - 42x*y
------------------------------------------------------------------------
6 5 4 3 2 2 3 4 5 4 2
+ 21y - 42x z + 33x y*z + 9x y z + 9x y z + 33x*y z - 42y z + 43x z +
------------------------------------------------------------------------
3 2 2 2 2 3 2 4 2 3 3 2 3 2 3
9x y*z + 20x y z + 9x*y z + 43y z - 44x z + 9x y*z + 9x*y z -
------------------------------------------------------------------------
3 3 2 4 4 2 4 5 5 6
44y z + 43x z + 33x*y*z + 43y z - 42x*z - 42y*z + 21z }
o8 : List
|
For more information about the algorithms used to calculate a hsop in primaryInvariants, see hsop algorithms.
Caveat
Currently users can only use
primaryInvariants to calculate a hsop for the invariant ring over a finite field by using the Dade algorithm. Users should enter the finite field as a
GaloisField or a quotient field of the form
ZZ/p and are advised to ensure that the ground field has cardinality greater than
|G|n-1, where
n is the number of variables in the polynomial ring
R. Using a ground field smaller than this runs the risk of the algorithm getting stuck in an infinite loop;
primaryInvariants displays a warning message asking the user whether they wish to continue with the computation in this case. See
hsop algorithms for a discussion on the Dade algorithm.