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 2 4 5 6 o4 = {39382402500x + 249046812000x y + 642775481775x y + 866232067050x y + 642775481775x y + 249046812000x*y + 39382402500y ---------------------------------------------------------------------------------------------------------------------------- 5 4 3 2 2 3 4 5 + 249046812000x z + 1295309543850x y*z + 2642253080670x y z + 2642253080670x y z + 1295309543850x*y z + 249046812000y z + ---------------------------------------------------------------------------------------------------------------------------- 4 2 3 2 2 2 2 3 2 4 2 3 3 642775481775x z + 2642253080670x y*z + 3999578334634x y z + 2642253080670x*y z + 642775481775y z + 866232067050x z + ---------------------------------------------------------------------------------------------------------------------------- 2 3 2 3 3 3 2 4 4 2 4 2642253080670x y*z + 2642253080670x*y z + 866232067050y z + 642775481775x z + 1295309543850x*y*z + 642775481775y z + ---------------------------------------------------------------------------------------------------------------------------- 5 5 6 6 5 4 2 3 3 2 4 5 6 249046812000x*z + 249046812000y*z + 39382402500z , 576x + 3888x y + 10448x y + 14276x y + 10448x y + 3888x*y + 576y ---------------------------------------------------------------------------------------------------------------------------- 5 4 3 2 2 3 4 5 4 2 3 2 2 2 2 + 3888x z + 21332x y*z + 44710x y z + 44710x y z + 21332x*y z + 3888y z + 10448x z + 44710x y*z + 68613x y z + ---------------------------------------------------------------------------------------------------------------------------- 3 2 4 2 3 3 2 3 2 3 3 3 2 4 4 2 4 5 44710x*y z + 10448y z + 14276x z + 44710x y*z + 44710x*y z + 14276y z + 10448x z + 21332x*y*z + 10448y z + 3888x*z ---------------------------------------------------------------------------------------------------------------------------- 5 6 6 5 4 2 3 3 2 4 5 6 5 + 3888y*z + 576z , 104976x + 1714608x y + 8461908x y + 14720616x y + 8461908x y + 1714608x*y + 104976y + 1714608x z + ---------------------------------------------------------------------------------------------------------------------------- 4 3 2 2 3 4 5 4 2 3 2 2 2 2 19397232x y*z + 55116180x y z + 55116180x y z + 19397232x*y z + 1714608y z + 8461908x z + 55116180x y*z + 100398673x y z ---------------------------------------------------------------------------------------------------------------------------- 3 2 4 2 3 3 2 3 2 3 3 3 2 4 + 55116180x*y z + 8461908y z + 14720616x z + 55116180x y*z + 55116180x*y z + 14720616y z + 8461908x z + ---------------------------------------------------------------------------------------------------------------------------- 4 2 4 5 5 6 19397232x*y*z + 8461908y z + 1714608x*z + 1714608y*z + 104976z } o4 : List |
Compare this result to the hsop output when Dade is left to its default value false.
i5 : primaryInvariants(S3) 2 2 2 o5 = {x + y + z, x + 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 4 3 2 2 3 4 5 4 2 o8 = {- 4x - 12x y + 28x y - 23x y + 28x y - 12x*y - 4y - 12x z - 17x y*z - 36x y z - 36x y z - 17x*y z - 12y z + 28x z - ---------------------------------------------------------------------------------------------------------------------------- 3 2 2 2 2 3 2 4 2 3 3 2 3 2 3 3 3 2 4 4 2 4 5 36x y*z - 20x y z - 36x*y z + 28y z - 23x z - 36x y*z - 36x*y z - 23y z + 28x z - 17x*y*z + 28y z - 12x*z - ---------------------------------------------------------------------------------------------------------------------------- 5 6 6 5 4 2 3 3 2 4 5 6 5 4 3 2 2 3 4 12y*z - 4z , 37x - 26x y + 32x y - 21x y + 32x y - 26x*y + 37y - 26x z - 32x y*z + 16x y z + 16x y z - 32x*y z - ---------------------------------------------------------------------------------------------------------------------------- 5 4 2 3 2 2 2 2 3 2 4 2 3 3 2 3 2 3 3 3 2 4 4 2 4 26y z + 32x z + 16x y*z - 5x y z + 16x*y z + 32y z - 21x z + 16x y*z + 16x*y z - 21y z + 32x z - 32x*y*z + 32y z ---------------------------------------------------------------------------------------------------------------------------- 5 5 6 6 5 4 2 3 3 2 4 5 6 5 4 3 2 2 3 - 26x*z - 26y*z + 37z , 31x + 27x y - 46x y + 23x y - 46x y + 27x*y + 31y + 27x z - 8x y*z + 46x y z + 46x y z - ---------------------------------------------------------------------------------------------------------------------------- 4 5 4 2 3 2 2 2 2 3 2 4 2 3 3 2 3 2 3 3 3 2 4 4 8x*y z + 27y z - 46x z + 46x y*z + 17x y z + 46x*y z - 46y z + 23x z + 46x y*z + 46x*y z + 23y z - 46x z - 8x*y*z ---------------------------------------------------------------------------------------------------------------------------- 2 4 5 5 6 - 46y z + 27x*z + 27y*z + 31z } o8 : List |
For more information about the algorithms used to calculate a hsop in primaryInvariants, see hsop algorithms.