Macaulay2 » Documentation
Packages » BoijSoederberg :: decompose(BettiTally)
next | previous | forward | backward | up | index | toc

decompose(BettiTally) -- write a Betti diagram as a positive combination of pure integral diagrams

Synopsis

Description

This applies the algorithm implied by the Boij-Soederberg conjecture, and also works even if the diagram does not corresponds to a Cohen-Macaulay module.
i1 : R = ZZ/103[a,b,c]

o1 = R

o1 : PolynomialRing
i2 : I = ideal"a3,abc,b4,c4,b2c2"

             3          4   4   2 2
o2 = ideal (a , a*b*c, b , c , b c )

o2 : Ideal of R
i3 : B = betti res I

            0 1 2 3
o3 = total: 1 5 8 4
         0: 1 . . .
         1: . . . .
         2: . 2 . .
         3: . 3 2 .
         4: . . 4 2
         5: . . 2 2

o3 : BettiTally
i4 : C = decompose B

       1 /       0  1  2  3\     1 /       0 1  2 3\     3 /       0 1  2 3\    11 /       0 1 2 3\     1 /       0  1  2  3\
o4 = (--)|total: 8 35 42 15| + (--)|total: 2 7 14 9| + (--)|total: 1 7 14 8| + (--)|total: 1 6 8 3| + (--)|total: 3 14 32 21|
      21 |    0: 8  .  .  .|    21 |    0: 2 .  . .|    28 |    0: 1 .  . .|    48 |    0: 1 . . .|    16 |    0: 3  .  .  .|
         |    1: .  .  .  .|       |    1: . .  . .|       |    1: . .  . .|       |    1: . . . .|       |    1: .  .  .  .|
         |    2: . 35  .  .|       |    2: . 7  . .|       |    2: . .  . .|       |    2: . . . .|       |    2: .  .  .  .|
         |    3: .  . 42  .|       |    3: . .  . .|       |    3: . 7  . .|       |    3: . 6 . .|       |    3: . 14  .  .|
         \    4: .  .  . 15/       \    4: . . 14 9/       \    4: . . 14 8/       |    4: . . 8 .|       |    4: .  .  .  .|
                                                                                   \    5: . . . 3/       \    5: .  . 32 21/

o4 : Expression of class Sum
Check that this really does sum to B:
i5 : value C

            0 1 2 3
o5 = total: 1 5 8 4
         0: 1 . . .
         1: . . . .
         2: . 2 . .
         3: . 3 2 .
         4: . . 4 2
         5: . . 2 2

o5 : BettiTally
Note that the entries are displayed in a peculiar manner. Let's lift this to the integers.
i6 : lift(value C, ZZ)

            0 1 2 3
o6 = total: 1 5 8 4
         0: 1 . . .
         1: . . . .
         2: . 2 . .
         3: . 3 2 .
         4: . . 4 2
         5: . . 2 2

o6 : BettiTally
i7 : B == oo

o7 = true
Let's display the list of Betti diagrams in the decomposition, and also the list of multipliers.
i8 : netList pack(3, apply(toList C, x -> x#1))

     +-----------------+-----------------+---------------+
     |       0  1  2  3|       0 1  2 3  |       0 1  2 3|
o8 = |total: 8 35 42 15|total: 2 7 14 9  |total: 1 7 14 8|
     |    0: 8  .  .  .|    0: 2 .  . .  |    0: 1 .  . .|
     |    1: .  .  .  .|    1: . .  . .  |    1: . .  . .|
     |    2: . 35  .  .|    2: . 7  . .  |    2: . .  . .|
     |    3: .  . 42  .|    3: . .  . .  |    3: . 7  . .|
     |    4: .  .  . 15|    4: . . 14 9  |    4: . . 14 8|
     +-----------------+-----------------+---------------+
     |       0 1 2 3   |       0  1  2  3|               |
     |total: 1 6 8 3   |total: 3 14 32 21|               |
     |    0: 1 . . .   |    0: 3  .  .  .|               |
     |    1: . . . .   |    1: .  .  .  .|               |
     |    2: . . . .   |    2: .  .  .  .|               |
     |    3: . 6 . .   |    3: . 14  .  .|               |
     |    4: . . 8 .   |    4: .  .  .  .|               |
     |    5: . . . 3   |    5: .  . 32 21|               |
     +-----------------+-----------------+---------------+
i9 : apply(toList C, first)

       1   1   3  11   1
o9 = {--, --, --, --, --}
      21  21  28  48  16

o9 : List
Here is an example where the Betti diagram is not Cohen-Macaulay.
i10 : R = ZZ/103[a,b,c]

o10 = R

o10 : PolynomialRing
i11 : I = ideal"a3,abc,b4,b2c2"

              3          4   2 2
o11 = ideal (a , a*b*c, b , b c )

o11 : Ideal of R
i12 : B = betti res I

             0 1 2 3
o12 = total: 1 4 5 2
          0: 1 . . .
          1: . . . .
          2: . 2 . .
          3: . 2 2 .
          4: . . 2 1
          5: . . 1 1

o12 : BettiTally
i13 : C = decompose B

        1 /       0  1  2  3\     2 /       0 1  2 3\     1  /       0  1  2 3\    17 /       0 1 2 3\     13 /       0  1  2  3\     2 /       0 1 2\
o13 = (--)|total: 8 35 42 15| + (--)|total: 2 7 14 9| + (---)|total: 5 16 20 9| + (--)|total: 1 6 8 3| + (---)|total: 3 14 32 21| + (--)|total: 3 7 4|
       21 |    0: 8  .  .  .|    63 |    0: 2 .  . .|    144 |    0: 5  .  . .|    96 |    0: 1 . . .|    672 |    0: 3  .  .  .|    21 |    0: 3 . .|
          |    1: .  .  .  .|       |    1: . .  . .|        |    1: .  .  . .|       |    1: . . . .|        |    1: .  .  .  .|       |    1: . . .|
          |    2: . 35  .  .|       |    2: . 7  . .|        |    2: . 16  . .|       |    2: . . . .|        |    2: .  .  .  .|       |    2: . . .|
          |    3: .  . 42  .|       |    3: . .  . .|        |    3: .  .  . .|       |    3: . 6 . .|        |    3: . 14  .  .|       |    3: . 7 .|
          \    4: .  .  . 15/       \    4: . . 14 9/        |    4: .  . 20 .|       |    4: . . 8 .|        |    4: .  .  .  .|       |    4: . . .|
                                                             \    5: .  .  . 9/       \    5: . . . 3/        \    5: .  . 32 21/       \    5: . . 4/

o13 : Expression of class Sum
The following example cannot be decomposed. This means that there is no module with this Betti diagram.
i14 : M = matrix"1,0,0,0;0,0,0,0;0,3,0,0;0,0,5,3"	  

o14 = | 1 0 0 0 |
      | 0 0 0 0 |
      | 0 3 0 0 |
      | 0 0 5 3 |

               4       4
o14 : Matrix ZZ  <-- ZZ
i15 : B = mat2betti M

             0 1 2 3
o15 = total: 1 3 5 3
          0: 1 . . .
          1: . . . .
          2: . 3 . .
          3: . . 5 3

o15 : BettiTally
i16 : codim B

o16 = 1
i17 : degree B

o17 = 2
i18 : try decompose B else "Betti diagram cannot exist"

o18 = Betti diagram cannot exist
i19 : pureBettiDiagram lowestDegrees B

             0 1 2 3
o19 = total: 1 5 9 5
          0: 1 . . .
          1: . . . .
          2: . 5 . .
          3: . . 9 5

o19 : BettiTally

See also

Ways to use this method: