next | previous | forward | backward | up | top | index | toc | Macaulay2 website
BoijSoederberg :: decomposeBetti

decomposeBetti -- 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 : decomposeBetti(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
We can see what the pure diagrams should be using the Herzog-Kuhl equations from Boij-Soederberg's initial paper
i5 : decomposeBetti(B,TableEntries => HerzogKuhl)

         /           0    1    2    3\       /           0    1    2    3\       /           0    1    2    3\       /           0    1    2    3\       /           0    1    2    3\
o5 = (40)|total: 1/105 1/24 1/20 1/56| + (12)|total: 1/126 1/36 1/18 1/28| + (18)|total: 1/168 1/24 1/12 1/21| + (44)|total: 1/192 1/32 1/24 1/64| + (42)|total: 1/224 1/48 1/21 1/32|
         |    0: 1/105    .    .    .|       |    0: 1/126    .    .    .|       |    0: 1/168    .    .    .|       |    0: 1/192    .    .    .|       |    0: 1/224    .    .    .|
         |    1:     .    .    .    .|       |    1:     .    .    .    .|       |    1:     .    .    .    .|       |    1:     .    .    .    .|       |    1:     .    .    .    .|
         |    2:     . 1/24    .    .|       |    2:     . 1/36    .    .|       |    2:     .    .    .    .|       |    2:     .    .    .    .|       |    2:     .    .    .    .|
         |    3:     .    . 1/20    .|       |    3:     .    .    .    .|       |    3:     . 1/24    .    .|       |    3:     . 1/32    .    .|       |    3:     . 1/48    .    .|
         \    4:     .    .    . 1/56/       \    4:     .    . 1/18 1/28/       \    4:     .    . 1/12 1/21/       |    4:     .    . 1/24    .|       |    4:     .    .    .    .|
                                                                                                                     \    5:     .    .    . 1/64/       \    5:     .    . 1/21 1/32/

o5 : Expression of class Sum
And we can also see what the realization modules from the Eisenbud-Schreyer paper will be.
i6 : decomposeBetti(B,TableEntries => RealizationModules)

       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\
o6 = (--)|total: 24 105 126 45| + (---)|total: 10 35 70 45| + (---)|total: 5 35 70 40| + (----)|total: 35 210 280 105| + (--)|total: 15 70 160 105|
      63 |    0: 24   .   .  .|    105 |    0: 10  .  .  .|    140 |    0: 5  .  .  .|    1680 |    0: 35   .   .   .|    80 |    0: 15  .   .   .|
         |    1:  .   .   .  .|        |    1:  .  .  .  .|        |    1: .  .  .  .|         |    1:  .   .   .   .|       |    1:  .  .   .   .|
         |    2:  . 105   .  .|        |    2:  . 35  .  .|        |    2: .  .  .  .|         |    2:  .   .   .   .|       |    2:  .  .   .   .|
         |    3:  .   . 126  .|        |    3:  .  .  .  .|        |    3: . 35  .  .|         |    3:  . 210   .   .|       |    3:  . 70   .   .|
         \    4:  .   .   . 45/        \    4:  .  . 70 45/        \    4: .  . 70 40/         |    4:  .   . 280   .|       |    4:  .  .   .   .|
                                                                                               \    5:  .   .   . 105/       \    5:  .  . 160 105/

o6 : Expression of class Sum

See also

Ways to use decomposeBetti :

For the programmer

The object decomposeBetti is a method function with options.