This function calls monomialIdealsWithHilbertFunction with the specified options, determines the Betti table of each feasible monomial ideal, then lists or tallies the Betti tables encountered. The Count option does not fundamentally change how the computation is performed, only how the results are reported.
i1 : R = QQ[x,y,z]; L = {1, 3, 5, 5, 4};
|
i3 : bettiTablesWithHilbertFunction(L, R) --outputs unique tables matching the criteria
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
o3 = {total: 1 4 4 1, total: 1 4 4 1, total: 1 4 4 1, total: 1 3 3 1, total:
0: 1 . . . 0: 1 . . . 0: 1 . . . 0: 1 . . . 0:
1: . 1 . . 1: . 1 . . 1: . 1 . . 1: . 1 . . 1:
2: . 2 2 . 2: . 2 2 . 2: . 2 2 . 2: . 2 1 . 2:
3: . 1 2 1 3: . 1 1 . 3: . 1 . . 3: . . 2 1 3:
4: . . 1 1 4: . . 2 . 4:
5: . . . 1
------------------------------------------------------------------------
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
1 4 5 2, total: 1 4 5 2, total: 1 3 3 1, total: 1 5 6 2, total: 1 5 6 2,
1 . . . 0: 1 . . . 0: 1 . . . 0: 1 . . . 0: 1 . . .
. 1 . . 1: . 1 . . 1: . 1 . . 1: . 1 . . 1: . 1 . .
. 2 2 . 2: . 2 2 . 2: . 2 1 . 2: . 2 3 1 2: . 2 3 1
. 1 . . 3: . 1 . . 3: . . 1 . 3: . 2 3 1 3: . 2 2 .
. . 3 2 4: . . 1 . 4: . . 1 1 4: . . 1 1
5: . . 2 2
------------------------------------------------------------------------
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0
total: 1 5 6 2, total: 1 5 7 3, total: 1 5 7 3, total: 1 5 7 3, total: 1
0: 1 . . . 0: 1 . . . 0: 1 . . . 0: 1 . . . 0: 1
1: . 1 . . 1: . 1 . . 1: . 1 . . 1: . 1 . . 1: .
2: . 2 3 1 2: . 2 3 1 2: . 2 3 1 2: . 2 3 1 2: .
3: . 2 2 . 3: . 2 1 . 3: . 2 1 . 3: . 2 1 . 3: .
4: . . . . 4: . . 2 1 4: . . 3 2 4: . . 2 1 4: .
5: . . 1 1 5: . . 1 1 5: . . . . 5: .
6: . . 1 1
------------------------------------------------------------------------
1 2 3 0 1 2 3 0 1 2 3
4 5 2, total: 1 5 6 2, total: 1 4 4 1}
. . . 0: 1 . . . 0: 1 . . .
1 . . 1: . 1 . . 1: . 1 . .
2 2 . 2: . 2 3 1 2: . 2 2 .
1 . . 3: . 2 2 . 3: . 1 1 .
. 2 1 4: . . . . 4: . . . .
. 1 1 5: . . . . 5: . . 1 1
6: . . 1 1
o3 : List
|
i4 : bettiTablesWithHilbertFunction(L, R, Count => true) --tallies distinct ideals giving each table
0 1 2 3
o4 = Tally{total: 1 3 3 1 => 12 }
0: 1 . . .
1: . 1 . .
2: . 2 1 .
3: . . 1 .
4: . . 1 1
0 1 2 3
total: 1 3 3 1 => 27
0: 1 . . .
1: . 1 . .
2: . 2 1 .
3: . . 2 1
0 1 2 3
total: 1 4 4 1 => 6
0: 1 . . .
1: . 1 . .
2: . 2 2 .
3: . 1 . .
4: . . 2 .
5: . . . 1
0 1 2 3
total: 1 4 4 1 => 12
0: 1 . . .
1: . 1 . .
2: . 2 2 .
3: . 1 1 .
4: . . . .
5: . . 1 1
0 1 2 3
total: 1 4 4 1 => 78
0: 1 . . .
1: . 1 . .
2: . 2 2 .
3: . 1 1 .
4: . . 1 1
0 1 2 3
total: 1 4 4 1 => 174
0: 1 . . .
1: . 1 . .
2: . 2 2 .
3: . 1 2 1
0 1 2 3
total: 1 4 5 2 => 6
0: 1 . . .
1: . 1 . .
2: . 2 2 .
3: . 1 . .
4: . . 2 1
5: . . 1 1
0 1 2 3
total: 1 4 5 2 => 9
0: 1 . . .
1: . 1 . .
2: . 2 2 .
3: . 1 . .
4: . . 1 .
5: . . 2 2
0 1 2 3
total: 1 4 5 2 => 15
0: 1 . . .
1: . 1 . .
2: . 2 2 .
3: . 1 . .
4: . . 3 2
0 1 2 3
total: 1 5 6 2 => 6
0: 1 . . .
1: . 1 . .
2: . 2 3 1
3: . 2 2 .
4: . . . .
5: . . . .
6: . . 1 1
0 1 2 3
total: 1 5 6 2 => 24
0: 1 . . .
1: . 1 . .
2: . 2 3 1
3: . 2 2 .
4: . . . .
5: . . 1 1
0 1 2 3
total: 1 5 6 2 => 54
0: 1 . . .
1: . 1 . .
2: . 2 3 1
3: . 2 2 .
4: . . 1 1
0 1 2 3
total: 1 5 6 2 => 150
0: 1 . . .
1: . 1 . .
2: . 2 3 1
3: . 2 3 1
0 1 2 3
total: 1 5 7 3 => 12
0: 1 . . .
1: . 1 . .
2: . 2 3 1
3: . 2 1 .
4: . . 2 1
5: . . . .
6: . . 1 1
0 1 2 3
total: 1 5 7 3 => 12
0: 1 . . .
1: . 1 . .
2: . 2 3 1
3: . 2 1 .
4: . . 2 1
5: . . 1 1
0 1 2 3
total: 1 5 7 3 => 12
0: 1 . . .
1: . 1 . .
2: . 2 3 1
3: . 2 1 .
4: . . 3 2
o4 : Tally
|
i5 : bettiTablesWithHilbertFunction(L, R, FirstBetti => 5) --only returns tables whose first total betti number is 5
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
o5 = {total: 1 5 6 2, total: 1 5 6 2, total: 1 5 6 2, total: 1 5 6 2, total:
0: 1 . . . 0: 1 . . . 0: 1 . . . 0: 1 . . . 0:
1: . 1 . . 1: . 1 . . 1: . 1 . . 1: . 1 . . 1:
2: . 2 3 1 2: . 2 3 1 2: . 2 3 1 2: . 2 3 1 2:
3: . 2 3 1 3: . 2 2 . 3: . 2 2 . 3: . 2 2 . 3:
4: . . 1 1 4: . . . . 4: . . . . 4:
5: . . 1 1 5: . . . .
6: . . 1 1
------------------------------------------------------------------------
0 1 2 3 0 1 2 3 0 1 2 3
1 5 7 3, total: 1 5 7 3, total: 1 5 7 3}
1 . . . 0: 1 . . . 0: 1 . . .
. 1 . . 1: . 1 . . 1: . 1 . .
. 2 3 1 2: . 2 3 1 2: . 2 3 1
. 2 1 . 3: . 2 1 . 3: . 2 1 .
. . 3 2 4: . . 2 1 4: . . 2 1
5: . . . . 5: . . 1 1
6: . . 1 1
o5 : List
|
i6 : bettiTablesWithHilbertFunction(L, R, GradedBettis => {0, 0, 2, 2, 1}) --only returns tables whose first graded betti numbers match a given sequence
o6 = {}
o6 : List
|
i7 : bettiTablesWithHilbertFunction(L, R, BoundGenerators => 3)
0 1 2 3 0 1 2 3
o7 = {total: 1 3 3 1, total: 1 3 3 1}
0: 1 . . . 0: 1 . . .
1: . 1 . . 1: . 1 . .
2: . 2 1 . 2: . 2 1 .
3: . . 2 1 3: . . 1 .
4: . . 1 1
o7 : List
|
i8 : bettiTablesWithHilbertFunction(L, R, BoundGenerators => 3, Count => true)
0 1 2 3
o8 = Tally{total: 1 3 3 1 => 12}
0: 1 . . .
1: . 1 . .
2: . 2 1 .
3: . . 1 .
4: . . 1 1
0 1 2 3
total: 1 3 3 1 => 27
0: 1 . . .
1: . 1 . .
2: . 2 1 .
3: . . 2 1
o8 : Tally
|
i11 : bettiTablesWithHilbertFunction({1, 3, 6, 7, 6, 5, 4, 4, 4}, R, FirstBetti => 6, BoundGenerators => 5, Count => true)
0 1 2 3
o11 = Tally{total: 1 6 7 2 => 48 }
0: 1 . . .
1: . . . .
2: . 3 3 1
3: . 3 3 .
4: . . . .
5: . . 1 1
0 1 2 3
total: 1 6 7 2 => 522
0: 1 . . .
1: . . . .
2: . 3 2 .
3: . 2 3 1
4: . 1 1 .
5: . . 1 1
0 1 2 3
total: 1 6 8 3 => 12
0: 1 . . .
1: . . . .
2: . 3 3 1
3: . 3 3 1
4: . . 1 .
5: . . 1 1
0 1 2 3
total: 1 6 8 3 => 72
0: 1 . . .
1: . . . .
2: . 3 1 .
3: . 1 4 2
4: . 2 2 .
5: . . 1 1
o11 : Tally
|
i12 : bettiTablesWithHilbertFunction({1, 4, 7, 10, 13}, S, SquareFree => true, FirstBetti => 5)
0 1 2 3 4
o12 = {total: 1 5 9 7 2}
0: 1 2 1 . .
1: . 3 8 7 2
o12 : List
|
i13 : bettiTablesWithHilbertFunction({1, 4, 7, 10, 13}, S, SquareFree => true, GradedBettis => {0, 2, 3, 1, 0})
0 1 2 3 4 5
o13 = {total: 1 6 13 13 6 1}
0: 1 2 1 . . .
1: . 3 9 10 5 1
2: . 1 3 3 1 .
o13 : List
|