Macaulay2 » Documentation
Packages » BettiCharacters > BettiCharacters Example 1
next | previous | forward | backward | up | index | toc

BettiCharacters Example 1 -- Specht ideals / subspace arrangements

In this example, we identify the Betti characters of the Specht ideal associated with the partition (5,2). The action of the symmetric group on the resolution of this ideal is described in K. Shibata, K. Yanagawa - Minimal free resolutions of the Specht ideals of shapes (n−2,2) and (d,d,1). The same ideal is also the ideal of the 6-equals subspace arrangement in a 7-dimensional affine space. This point of view is explored in C. Berkesch, S. Griffeth, S. Sam - Jack polynomials as fractional quantum Hall states and the Betti numbers of the (k+1)-equals ideal where the action of the symmetric group on the resolution is also described.

We begin by constructing the ideal explicitly. As an alternative, the ideal can be obtained using the function spechtPolynomials provided by the package SpechtModule. We compute a minimal free resolution and its Betti table.

i1 : R=QQ[x_1..x_7]

o1 = R

o1 : PolynomialRing
i2 : I1=ideal apply({4,5,6,7}, i -> (x_1-x_2)*(x_3-x_i));

o2 : Ideal of R
i3 : I2=ideal apply(subsets({3,4,5,6,7},2), s -> (x_1-x_(s#0))*(x_2-x_(s#1)));

o3 : Ideal of R
i4 : I=I1+I2

o4 = ideal (x x  - x x  - x x  + x x , x x  - x x  - x x  + x x , x x  - x x 
             1 3    2 3    1 4    2 4   1 3    2 3    1 5    2 5   1 3    2 3
     ------------------------------------------------------------------------
     - x x  + x x , x x  - x x  - x x  + x x , x x  - x x  - x x  + x x ,
        1 6    2 6   1 3    2 3    1 7    2 7   1 2    2 3    1 4    3 4 
     ------------------------------------------------------------------------
     x x  - x x  - x x  + x x , x x  - x x  - x x  + x x , x x  - x x  - x x 
      1 2    2 3    1 5    3 5   1 2    2 4    1 5    4 5   1 2    2 3    1 6
     ------------------------------------------------------------------------
     + x x , x x  - x x  - x x  + x x , x x  - x x  - x x  + x x , x x  -
        3 6   1 2    2 4    1 6    4 6   1 2    2 5    1 6    5 6   1 2  
     ------------------------------------------------------------------------
     x x  - x x  + x x , x x  - x x  - x x  + x x , x x  - x x  - x x  +
      2 3    1 7    3 7   1 2    2 4    1 7    4 7   1 2    2 5    1 7  
     ------------------------------------------------------------------------
     x x , x x  - x x  - x x  + x x )
      5 7   1 2    2 6    1 7    6 7

o4 : Ideal of R
i5 : RI=res I

      1      14      35      35      14      1
o5 = R  <-- R   <-- R   <-- R   <-- R   <-- R  <-- 0
                                                    
     0      1       2       3       4       5      6

o5 : ChainComplex
i6 : betti RI

            0  1  2  3  4 5
o6 = total: 1 14 35 35 14 1
         0: 1  .  .  .  . .
         1: . 14 35 35 14 .
         2: .  .  .  .  . 1

o6 : BettiTally

Next we set up the group action on the resolution. The group is the symmetric group on 7 elements. Its conjugacy classes are determined by cycle types, which are in bijection with partitions of 7. Representatives for the conjugacy classes of the symmetric group acting on a polynomial ring by permuting the variables can be obtained via symmetricGroupActors. Once the action is set up, we compute the Betti characters.

i7 : S7 = symmetricGroupActors R

o7 = {| x_2 x_3 x_4 x_5 x_6 x_7 x_1 |, | x_2 x_3 x_4 x_5 x_6 x_1 x_7 |, | x_2
     ------------------------------------------------------------------------
     x_3 x_4 x_5 x_1 x_7 x_6 |, | x_2 x_3 x_4 x_5 x_1 x_6 x_7 |, | x_2 x_3
     ------------------------------------------------------------------------
     x_4 x_1 x_6 x_7 x_5 |, | x_2 x_3 x_4 x_1 x_6 x_5 x_7 |, | x_2 x_3 x_4
     ------------------------------------------------------------------------
     x_1 x_5 x_6 x_7 |, | x_2 x_3 x_1 x_5 x_6 x_4 x_7 |, | x_2 x_3 x_1 x_5
     ------------------------------------------------------------------------
     x_4 x_7 x_6 |, | x_2 x_3 x_1 x_5 x_4 x_6 x_7 |, | x_2 x_3 x_1 x_4 x_5
     ------------------------------------------------------------------------
     x_6 x_7 |, | x_2 x_1 x_4 x_3 x_6 x_5 x_7 |, | x_2 x_1 x_4 x_3 x_5 x_6
     ------------------------------------------------------------------------
     x_7 |, | x_2 x_1 x_3 x_4 x_5 x_6 x_7 |, | x_1 x_2 x_3 x_4 x_5 x_6 x_7 |}

o7 : List
i8 : A = action(RI,S7)

o8 = ChainComplex with 15 actors

o8 : ActionOnComplex
i9 : elapsedTime c = character A
 -- 0.912347 seconds elapsed

o9 = Character over R
      
     (0, {0}) => | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 |
     (1, {2}) => | 0 -1 1 -1 0 0 0 -1 2 0 2 2 2 6 14 |
     (2, {3}) => | 0 1 0 0 -1 1 -1 -1 -1 -1 -1 1 -1 5 35 |
     (3, {4}) => | 0 -1 0 0 1 1 1 -1 -1 1 -1 -1 -1 -5 35 |
     (4, {5}) => | 0 1 -1 -1 0 0 0 -1 2 0 2 -2 2 -6 14 |
     (5, {7}) => | 1 -1 -1 1 -1 1 -1 1 1 -1 1 -1 1 -1 1 |

o9 : Character

To make sense of these characters we decompose them against the character table of the symmetric group, which can be computed using the function symmetricGroupTable. The irreducible characters are indexed by the partitions of 7, which are written using a compact notation (the exponents indicate how many times a part is repeated).

i10 : T = symmetricGroupTable R

o10 = Character table over R
       
                |  720  840  504  504  420  630  210  280  210  420  70  105  105  21   1
      ----------+------------------------------------------------------------------------
           (7)  |    1    1    1    1    1    1    1    1    1    1   1    1    1   1   1
         (6,1)  |   -1    0   -1    1   -1    0    2    0   -1    1   3    0    2   4   6
         (5,2)  |    0   -1    1   -1    0    0    0   -1    2    0   2    2    2   6  14
            2   |                                                                      
        (5,1 )  |    1    0    0    0    1   -1    1    0   -1   -1   3   -3   -1   5  15
         (4,3)  |    0    0   -1   -1    1    0   -2    2   -1    1  -1    0    2   4  14
       (4,2,1)  |    0    1    0    0   -1    1   -1   -1   -1   -1  -1    1   -1   5  35
            3   |                                                                      
        (4,1 )  |   -1    0    0    0    0    0    0    2    2    0   2    0   -4   0  20
          2     |                                                                      
        (3 ,1)  |    0    0    1    1   -1   -1   -1    0    1    1  -3   -3    1   1  21
            2   |                                                                      
        (3,2 )  |    0    0   -1    1    1   -1    1    0    1   -1  -3    3    1  -1  21
            2   |                                                                      
      (3,2,1 )  |    0   -1    0    0    1    1    1   -1   -1    1  -1   -1   -1  -5  35
            4   |                                                                      
        (3,1 )  |    1    0    0    0   -1   -1   -1    0   -1    1   3    3   -1  -5  15
          3     |                                                                      
        (2 ,1)  |    0    0    1   -1   -1    0    2    2   -1   -1  -1    0    2  -4  14
         2  3   |                                                                      
       (2 ,1 )  |    0    1   -1   -1    0    0    0   -1    2    0   2   -2    2  -6  14
            5   |                                                                      
        (2,1 )  |   -1    0    1    1    1    0   -2    0   -1   -1   3    0    2  -4   6
            7   |                                                                      
          (1 )  |    1   -1   -1    1   -1    1   -1    1    1   -1   1   -1    1  -1   1

o10 : CharacterTable
i11 : decomposeCharacter(c,T)

o11 = Decomposition table
       
                |                             2     2  3     7
                |  (7)  (5,2)  (4,2,1)  (3,2,1 )  (2 ,1 )  (1 )
      ----------+----------------------------------------------
      (0, {0})  |    1      0        0         0        0     0
      (1, {2})  |    0      1        0         0        0     0
      (2, {3})  |    0      0        1         0        0     0
      (3, {4})  |    0      0        0         1        0     0
      (4, {5})  |    0      0        0         0        1     0
      (5, {7})  |    0      0        0         0        0     1

o11 : CharacterDecomposition

As expected from the general theory, we find a single irreducible representation in each homological degree.

Finally, we can observe the Gorenstein duality of the resolution and its character. We construct the character of the sign representation concentrated in homological degree 0, internal degree 7. Then we dualize the character of the resolution previously computed, shift its homological degree by the length of the resolution, and twist it by the sign character just constructed: the result is the same as the character of the resolution.

i12 : sign = character(R,15,hashTable {(0,{7}) =>
              matrix{{1,-1,-1,1,-1,1,-1,1,1,-1,1,-1,1,-1,1}}})

o12 = Character over R
       
      (0, {7}) => | 1 -1 -1 1 -1 1 -1 1 1 -1 1 -1 1 -1 1 |

o12 : Character
i13 : dual(c,id_QQ)[-5] ** sign === c

o13 = true

The second argument in the dual command is the restriction of complex conjugation to the field of definition of the characters. For more information, see dual(Character,RingMap).