next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
InvariantRing :: primaryInvariants(..., Dade => ...)

primaryInvariants(..., Dade => ...) -- an optional argument for primaryInvariants determining whether to use the Dade algorithm

Synopsis

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 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)

                  2    2    2   2       2    2     2       2      2
o8 = {x + y + z, x  + y  + z , x y + x*y  + x z + y z + x*z  + 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)

           6      5       4 2      3 3      2 4        5     6      5   
o11 = {- 4x  - 12x y + 28x y  - 23x y  + 28x y  - 12x*y  - 4y  - 12x z -
      -----------------------------------------------------------------------
         4         3 2       2 3         4       5       4 2      3   2  
      17x y*z - 36x y z - 36x y z - 17x*y z - 12y z + 28x z  - 36x y*z  -
      -----------------------------------------------------------------------
         2 2 2        3 2      4 2      3 3      2   3        2 3      3 3  
      20x y z  - 36x*y z  + 28y z  - 23x z  - 36x y*z  - 36x*y z  - 23y z  +
      -----------------------------------------------------------------------
         2 4          4      2 4        5        5     6     6      5   
      28x z  - 17x*y*z  + 28y z  - 12x*z  - 12y*z  - 4z , 37x  - 26x y +
      -----------------------------------------------------------------------
         4 2      3 3      2 4        5      6      5       4         3 2   
      32x y  - 21x y  + 32x y  - 26x*y  + 37y  - 26x z - 32x y*z + 16x y z +
      -----------------------------------------------------------------------
         2 3         4       5       4 2      3   2     2 2 2        3 2  
      16x y z - 32x*y z - 26y z + 32x z  + 16x y*z  - 5x y z  + 16x*y z  +
      -----------------------------------------------------------------------
         4 2      3 3      2   3        2 3      3 3      2 4          4  
      32y z  - 21x z  + 16x y*z  + 16x*y z  - 21y z  + 32x z  - 32x*y*z  +
      -----------------------------------------------------------------------
         2 4        5        5      6     6      5       4 2      3 3  
      32y z  - 26x*z  - 26y*z  + 37z , 31x  + 27x y - 46x y  + 23x y  -
      -----------------------------------------------------------------------
         2 4        5      6      5      4         3 2       2 3        4   
      46x y  + 27x*y  + 31y  + 27x z - 8x y*z + 46x y z + 46x y z - 8x*y z +
      -----------------------------------------------------------------------
         5       4 2      3   2      2 2 2        3 2      4 2      3 3  
      27y z - 46x z  + 46x y*z  + 17x y z  + 46x*y z  - 46y z  + 23x z  +
      -----------------------------------------------------------------------
         2   3        2 3      3 3      2 4         4      2 4        5  
      46x y*z  + 46x*y z  + 23y z  - 46x z  - 8x*y*z  - 46y z  + 27x*z  +
      -----------------------------------------------------------------------
           5      6
      27y*z  + 31z }

o11 : List

For more information about the algorithms used to calculate an hsop in primaryInvariants, see hsop algorithms.

Further information

Caveat

Currently users can only use primaryInvariants to calculate an 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.

See also