Triplets -- Betti diagrams and hypercohomology tables associated to triplets of degree sequences

Description

Triplets is a package to calculate

1) Betti diagrams of triplets of pure free squarefree complexes, as introduced in math.AC/1207.2071 "Triplets of pure free squarefree complexes"

2) hypercohomology tables associated to homology triplets, as given in math.AC/1212.3675 "Zipping Tate resolutions and exterior coalgebras"

Degree sequences

• strands -- strand span of degree sequence
• strandsL -- strand span as a subset of [0,n]
• conj -- conjugate of degree sequence

Betti diagrams

• Betti1 -- Betti numbers of first pure complex
• Betti3 -- Betti numbers of the three pure complexes
• BettiDiagram1 -- Betti diagram of first pure complex
• BettiDiagram3 -- Betti diagrams of the three pure complexes

Polynomials

• binPol -- product of two binomial polynomials
• hilbCoeff -- coefficients of Hilbert polynomial
• hilbPol -- Hilbert polynomial
• chiPol -- Hilbert polynomial of cohomology sheaves

Cohomology tables

We create a Triplet using the triplet function:

 ```i1 : T = triplet({1,2,3}, {0,2}, {0,2,3}) o1 = {{1, 2, 3}, {0, 2}, {0, 2, 3}} o1 : Triplet``` ```i2 : isDegreeTriplet T o2 = true```
We can rotate this degree triplet forwards or backwards:
 ```i3 : rotForw T o3 = {{0, 2}, {0, 2, 3}, {1, 2, 3}} o3 : Triplet``` ```i4 : rotBack T o4 = {{0, 2, 3}, {1, 2, 3}, {0, 2}} o4 : Triplet```
We can compute the Betti numbers and Betti diagrams associated to the degree sequences of this triplet:
 ```i5 : Betti3 T {1, 2, 3} ===> {3, 6, 2} {0, 2} ===> {1, 3} {0, 2, 3} ===> {2, 3, 1}``` ```i6 : BettiDiagram3 T 0 1 2 0 1 0 1 2 total: 3 6 2 total: 1 3 total: 2 3 1 1: 3 6 2 0: 1 . 0: 2 . . 1: . 3 1: . 3 1```
We convert it to a homology triplet:
 ```i7 : Th = toHomology T o7 = {{1, 2, 3}, {1, 3}, {0, 2, 3}} o7 : Triplet``` ```i8 : isHomologyTriplet Th o8 = true```
We compute the hypercohomology table of a complex of coherent sheaves associated to this homology triplet:
 ```i9 : cohTable (-7, 5,Th) -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 o9 = 2: 77 50 30 16 7 2 . . . . . . . 1: 2 2 2 2 2 2 2 1 . . . . . 0: . . . . . . . . 1 2 3 4 5 -1: . . . . . . . 1 4 10 20 35 56 o9 : CohomologyTally```
The dual homology triplet and its hypercohomology table:
 ```i10 : Thd = dualHomTriplet Th o10 = {{0, 1, 2}, {0, 2, 3}, {1, 3}} o10 : Triplet``` ```i11 : cohTable (-7,5,Thd) -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 o11 = 2: 56 35 20 10 4 1 . . . . . . . 1: 5 4 3 2 1 . . . . . . . . 0: . . . . . 1 2 2 2 2 2 2 2 -1: . . . . . . . 2 7 16 30 50 77 o11 : CohomologyTally```