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 an 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=generateGroup({A,B},QQ) o3 = {| 1 0 0 |, | 0 0 1 |, | 0 0 1 |, | 1 0 0 |, | 0 1 0 |, | 0 1 0 |} | 0 1 0 | | 0 1 0 | | 1 0 0 | | 0 0 1 | | 1 0 0 | | 0 0 1 | | 0 0 1 | | 1 0 0 | | 0 1 0 | | 0 1 0 | | 0 0 1 | | 1 0 0 | o3 : List |
i4 : primaryInvariants(QQ[x,y,z],S3,Dade=>true) 6 5 4 2 3 3 o4 = {39382402500x + 249046812000x y + 642775481775x y + 866232067050x y + ------------------------------------------------------------------------ 2 4 5 6 5 642775481775x y + 249046812000x*y + 39382402500y + 249046812000x z + ------------------------------------------------------------------------ 4 3 2 2 3 1295309543850x y*z + 2642253080670x y z + 2642253080670x y z + ------------------------------------------------------------------------ 4 5 4 2 1295309543850x*y z + 249046812000y z + 642775481775x z + ------------------------------------------------------------------------ 3 2 2 2 2 3 2 2642253080670x y*z + 3999578334634x y z + 2642253080670x*y z + ------------------------------------------------------------------------ 4 2 3 3 2 3 642775481775y z + 866232067050x z + 2642253080670x y*z + ------------------------------------------------------------------------ 2 3 3 3 2 4 2642253080670x*y z + 866232067050y z + 642775481775x z + ------------------------------------------------------------------------ 4 2 4 5 1295309543850x*y*z + 642775481775y z + 249046812000x*z + ------------------------------------------------------------------------ 5 6 6 5 4 2 249046812000y*z + 39382402500z , 576x + 3888x y + 10448x y + ------------------------------------------------------------------------ 3 3 2 4 5 6 5 4 14276x y + 10448x y + 3888x*y + 576y + 3888x z + 21332x y*z + ------------------------------------------------------------------------ 3 2 2 3 4 5 4 2 3 2 44710x y z + 44710x y z + 21332x*y z + 3888y z + 10448x z + 44710x y*z ------------------------------------------------------------------------ 2 2 2 3 2 4 2 3 3 2 3 + 68613x y z + 44710x*y z + 10448y z + 14276x z + 44710x y*z + ------------------------------------------------------------------------ 2 3 3 3 2 4 4 2 4 5 44710x*y z + 14276y z + 10448x z + 21332x*y*z + 10448y z + 3888x*z ------------------------------------------------------------------------ 5 6 6 5 4 2 3 3 + 3888y*z + 576z , 104976x + 1714608x y + 8461908x y + 14720616x y + ------------------------------------------------------------------------ 2 4 5 6 5 4 8461908x y + 1714608x*y + 104976y + 1714608x z + 19397232x y*z + ------------------------------------------------------------------------ 3 2 2 3 4 5 4 2 55116180x y z + 55116180x y z + 19397232x*y z + 1714608y z + 8461908x z ------------------------------------------------------------------------ 3 2 2 2 2 3 2 4 2 + 55116180x y*z + 100398673x y z + 55116180x*y z + 8461908y z + ------------------------------------------------------------------------ 3 3 2 3 2 3 3 3 14720616x z + 55116180x y*z + 55116180x*y z + 14720616y z + ------------------------------------------------------------------------ 2 4 4 2 4 5 5 8461908x z + 19397232x*y*z + 8461908y z + 1714608x*z + 1714608y*z + ------------------------------------------------------------------------ 6 104976z } o4 : List |
Compare this result to the hsop output when Dade is left to its default value false.
i5 : A=matrix{{0,1,0},{0,0,1},{1,0,0}}; 3 3 o5 : Matrix ZZ <--- ZZ |
i6 : B=matrix{{0,1,0},{1,0,0},{0,0,1}}; 3 3 o6 : Matrix ZZ <--- ZZ |
i7 : S3=generateGroup({A,B},QQ) o7 = {| 1 0 0 |, | 0 0 1 |, | 0 0 1 |, | 1 0 0 |, | 0 1 0 |, | 0 1 0 |} | 0 1 0 | | 0 1 0 | | 1 0 0 | | 0 0 1 | | 1 0 0 | | 0 0 1 | | 0 0 1 | | 1 0 0 | | 0 1 0 | | 0 1 0 | | 0 0 1 | | 1 0 0 | o7 : List |
i8 : primaryInvariants(QQ[x,y,z],S3) 3 3 3 o8 = {x + y + z, x*y + x*z + y*z, x + y + z } o8 : List |
Below, the invariant ring QQ[x,y,z]S3 is calculated with K being the field with 101 elements.
i9 : K=GF(101) o9 = K o9 : GaloisField |
i10 : S3=generateGroup({A,B},K) o10 = {| 1 0 0 |, | 0 0 1 |, | 0 0 1 |, | 1 0 0 |, | 0 1 0 |, | 0 1 0 |} | 0 1 0 | | 0 1 0 | | 1 0 0 | | 0 0 1 | | 1 0 0 | | 0 0 1 | | 0 0 1 | | 1 0 0 | | 0 1 0 | | 0 1 0 | | 0 0 1 | | 1 0 0 | o10 : List |
i11 : primaryInvariants(K[x,y,z],S3,Dade=>true) 3 2 2 3 2 2 2 o11 = {- 42x + 22x y + 22x*y - 42y + 22x z - 28x*y*z + 22y z + 22x*z + ----------------------------------------------------------------------- 2 3 6 5 4 2 3 3 2 4 5 22y*z - 42z , - 33x + 43x y + 29x y - 42x y + 29x y + 43x*y - ----------------------------------------------------------------------- 6 5 4 3 2 2 3 4 5 4 2 33y + 43x z - 22x y*z - 4x y z - 4x y z - 22x*y z + 43y z + 29x z - ----------------------------------------------------------------------- 3 2 2 2 2 3 2 4 2 3 3 2 3 2 3 4x y*z + 7x y z - 4x*y z + 29y z - 42x z - 4x y*z - 4x*y z - ----------------------------------------------------------------------- 3 3 2 4 4 2 4 5 5 6 6 42y z + 29x z - 22x*y*z + 29y z + 43x*z + 43y*z - 33z , 24x - ----------------------------------------------------------------------- 5 4 2 3 3 2 4 5 6 5 4 30x y + 8x y - 41x y + 8x y - 30x*y + 24y - 30x z + 41x y*z - ----------------------------------------------------------------------- 3 2 2 3 4 5 4 2 3 2 2 2 2 10x y z - 10x y z + 41x*y z - 30y z + 8x z - 10x y*z - 11x y z - ----------------------------------------------------------------------- 3 2 4 2 3 3 2 3 2 3 3 3 2 4 10x*y z + 8y z - 41x z - 10x y*z - 10x*y z - 41y z + 8x z + ----------------------------------------------------------------------- 4 2 4 5 5 6 41x*y*z + 8y z - 30x*z - 30y*z + 24z } o11 : List |
For more information about the algorithms used to calculate an hsop in primaryInvariants, see hsop algorithms.