Macaulay2 » Documentation
Packages » SpechtModule :: higherSpechtPolynomials
next | previous | forward | backward | up | index | toc

higherSpechtPolynomials -- a method that gives sets of higher Specht polynomials

Synopsis

Description

This methods returns higher Specht polynomials sorted in hash tables depending on the input received.

If the input is just a YoungTableau $S$ of shape $\lambda$ and a PolynomialRing then it calculates the standard tableaux $ST(\lambda)$ and then stores all polynomials $F_T^S$ such that $T \in ST(\lambda)$. The polynomials are stored in a hash table with the filling of $T$ as the key.

The list $ST(\lambda)$ can be provided as an input. This is used to avoid repeating this calculation when this method is called multiple times with the same shape $\lambda$.

This set forms a basis for one of the copies of the Specht module $S^\lambda$.

i1 : R = QQ[x_0..x_3]

o1 = R

o1 : PolynomialRing
i2 : p = new Partition from {2,2}

o2 = Partition{2, 2}

o2 : Partition
i3 : S  = youngTableau(p,{0,2,1,3})

o3 = | 0 2 |
     | 1 3 |

o3 : YoungTableau
i4 : higherSpechtPolynomials(S,R)

                                2            2      2      2        2          2          2        2
o4 = HashTable{{0, 1, 2, 3} => x x x  - x x x  + x x x  - x x x  - x x x  + x x x  - x x x  + x x x }
                                0 1 2    0 1 2    0 1 3    0 2 3    1 2 3    0 2 3    0 1 3    1 2 3
                                2          2      2          2        2        2          2        2
               {0, 2, 1, 3} => x x x  - x x x  - x x x  + x x x  + x x x  - x x x  - x x x  + x x x
                                0 1 2    0 1 2    0 1 3    0 1 3    0 2 3    1 2 3    0 2 3    1 2 3

o4 : HashTable
i5 : stan = standardTableaux p

o5 = {| 0 1 |, | 0 2 |}
      | 2 3 |  | 1 3 |

o5 : TableauList
i6 : higherSpechtPolynomials(S, stan,R)

                                2            2      2      2        2          2          2        2
o6 = HashTable{{0, 1, 2, 3} => x x x  - x x x  + x x x  - x x x  - x x x  + x x x  - x x x  + x x x }
                                0 1 2    0 1 2    0 1 3    0 2 3    1 2 3    0 2 3    0 1 3    1 2 3
                                2          2      2          2        2        2          2        2
               {0, 2, 1, 3} => x x x  - x x x  - x x x  + x x x  + x x x  - x x x  - x x x  + x x x
                                0 1 2    0 1 2    0 1 3    0 1 3    0 2 3    1 2 3    0 2 3    1 2 3

o6 : HashTable

If only a partition $\lambda$ and a polynomial ring is given then the method calculates $ST(\lambda)$. Then it calculates all polynomials $F_T^S$ such that $S,T \in ST(\lambda)$.

This is a basis for the isotypical component $X_\lambda$ in the coinvariant algebra of the symmetric group.

The polynomials are stored by calling for each $S \in ST(\lambda) $ the previous method. The output is stored in another hash table with the key being the filling of the tableau $S$.

i7 : higherSpechtPolynomials(p,R)

o7 = HashTable{{0, 1, 2, 3} => HashTable{{0, 1, 2, 3} => x x  - x x  - x x  + x x }                                            }
                                                          0 1    1 2    0 3    2 3
                                         {0, 2, 1, 3} => x x  - x x  - x x  + x x
                                                          0 2    1 2    0 3    1 3
                                                          2            2      2      2        2          2          2        2
               {0, 2, 1, 3} => HashTable{{0, 1, 2, 3} => x x x  - x x x  + x x x  - x x x  - x x x  + x x x  - x x x  + x x x }
                                                          0 1 2    0 1 2    0 1 3    0 2 3    1 2 3    0 2 3    0 1 3    1 2 3
                                                          2          2      2          2        2        2          2        2
                                         {0, 2, 1, 3} => x x x  - x x x  - x x x  + x x x  + x x x  - x x x  - x x x  + x x x
                                                          0 1 2    0 1 2    0 1 3    0 1 3    0 2 3    1 2 3    0 2 3    1 2 3

o7 : HashTable

Finally if just a polynomial ring $R$ with $n$ elements is provided then the method calculates all higher Specht polynomials for all partitions $\lambda$ of $n$.

The polynomials are calculated by calling the previous method for every partition of $n$ and storing the values in a new hash table with the key being the partition.

i8 : higherSpechtPolynomials(R)

                                                                                             3 2      2 3      3   2      3 2    2   3      2 3    3 2      2 3      3 2      3 2      2 3      2 3      3   2      3 2    3   2    3   2      3 2      3 2    2   3      2 3    2   3    2   3      2 3      2 3
o8 = HashTable{Partition{1, 1, 1, 1} => HashTable{{0, 1, 2, 3} => HashTable{{0, 1, 2, 3} => x x x  - x x x  - x x x  + x x x  + x x x  - x x x  - x x x  + x x x  + x x x  - x x x  - x x x  + x x x  + x x x  - x x x  - x x x  + x x x  + x x x  - x x x  - x x x  + x x x  + x x x  - x x x  - x x x  + x x x }}}
                                                                                             0 1 2    0 1 2    0 1 2    0 1 2    0 1 2    0 1 2    0 1 3    0 1 3    0 2 3    1 2 3    0 2 3    1 2 3    0 1 3    0 1 3    0 2 3    1 2 3    0 2 3    1 2 3    0 1 3    0 1 3    0 2 3    1 2 3    0 2 3    1 2 3
                                                                                            2        2    2      2        2      2
               Partition{2, 1, 1} => HashTable{{0, 1, 2, 3} => HashTable{{0, 1, 2, 3} => - x x  + x x  + x x  - x x  - x x  + x x }            }
                                                                                            0 2    0 2    0 3    2 3    0 3    2 3
                                                                                            2        2    2      2        2      2
                                                                         {0, 2, 1, 3} => - x x  + x x  + x x  - x x  - x x  + x x
                                                                                            0 1    0 1    0 3    1 3    0 3    1 3
                                                                                            2        2    2      2        2      2
                                                                         {0, 3, 1, 2} => - x x  + x x  + x x  - x x  - x x  + x x
                                                                                            0 1    0 1    0 2    1 2    0 2    1 2
                                                                                            2            2    2          2          2        2
                                               {0, 2, 1, 3} => HashTable{{0, 1, 2, 3} => - x x x  + x x x  + x x x  - x x x  - x x x  + x x x }
                                                                                            0 1 2    0 1 2    0 1 3    1 2 3    0 1 3    1 2 3
                                                                                            2          2      2        2            2        2
                                                                         {0, 2, 1, 3} => - x x x  + x x x  + x x x  - x x x  - x x x  + x x x
                                                                                            0 1 2    0 1 2    0 2 3    1 2 3    0 2 3    1 2 3
                                                                                            2          2      2        2          2        2
                                                                         {0, 3, 1, 2} => - x x x  + x x x  + x x x  - x x x  - x x x  + x x x
                                                                                            0 1 3    0 1 3    0 2 3    1 2 3    0 2 3    1 2 3
                                                                                            2 2        2 2    2 2      2 2        2 2    2   2
                                               {0, 3, 1, 2} => HashTable{{0, 1, 2, 3} => - x x x  + x x x  + x x x  - x x x  - x x x  + x x x }
                                                                                            0 1 2    0 1 2    0 1 3    1 2 3    0 1 3    1 2 3
                                                                                            2   2      2 2    2 2      2 2        2 2      2 2
                                                                         {0, 2, 1, 3} => - x x x  + x x x  + x x x  - x x x  - x x x  + x x x
                                                                                            0 1 2    0 1 2    0 2 3    1 2 3    0 2 3    1 2 3
                                                                                            2   2      2 2    2   2    2   2      2 2      2 2
                                                                         {0, 3, 1, 2} => - x x x  + x x x  + x x x  - x x x  - x x x  + x x x
                                                                                            0 1 3    0 1 3    0 2 3    1 2 3    0 2 3    1 2 3
               Partition{2, 2} => HashTable{{0, 1, 2, 3} => HashTable{{0, 1, 2, 3} => x x  - x x  - x x  + x x }                                            }
                                                                                       0 1    1 2    0 3    2 3
                                                                      {0, 2, 1, 3} => x x  - x x  - x x  + x x
                                                                                       0 2    1 2    0 3    1 3
                                                                                       2            2      2      2        2          2          2        2
                                            {0, 2, 1, 3} => HashTable{{0, 1, 2, 3} => x x x  - x x x  + x x x  - x x x  - x x x  + x x x  - x x x  + x x x }
                                                                                       0 1 2    0 1 2    0 1 3    0 2 3    1 2 3    0 2 3    0 1 3    1 2 3
                                                                                       2          2      2          2        2        2          2        2
                                                                      {0, 2, 1, 3} => x x x  - x x x  - x x x  + x x x  + x x x  - x x x  - x x x  + x x x
                                                                                       0 1 2    0 1 2    0 1 3    0 1 3    0 2 3    1 2 3    0 2 3    1 2 3
               Partition{3, 1} => HashTable{{0, 1, 2, 3} => HashTable{{0, 1, 2, 3} => - x  + x }                  }
                                                                                         0    3
                                                                      {0, 1, 3, 2} => - x  + x
                                                                                         0    2
                                                                      {0, 2, 3, 1} => - x  + x
                                                                                         0    1
                                            {0, 1, 3, 2} => HashTable{{0, 1, 2, 3} => - x x  - x x  + x x  + x x }
                                                                                         0 1    0 2    1 3    2 3
                                                                      {0, 1, 3, 2} => - x x  + x x  - x x  + x x
                                                                                         0 1    1 2    0 3    2 3
                                                                      {0, 2, 3, 1} => - x x  + x x  - x x  + x x
                                                                                         0 2    1 2    0 3    1 3
                                            {0, 2, 3, 1} => HashTable{{0, 1, 2, 3} => - x x x  + x x x }
                                                                                         0 1 2    1 2 3
                                                                      {0, 1, 3, 2} => - x x x  + x x x
                                                                                         0 1 3    1 2 3
                                                                      {0, 2, 3, 1} => - x x x  + x x x
                                                                                         0 2 3    1 2 3
               Partition{4} => HashTable{{0, 1, 2, 3} => HashTable{{0, 1, 2, 3} => 1}}

o8 : HashTable

Ways to use higherSpechtPolynomials :

For the programmer

The object higherSpechtPolynomials is a method function with options.