# betti(BettiTally) -- view and set the weight vector of a Betti diagram

## Synopsis

• Function: betti
• Usage:
betti(t, Weights => w)
• Inputs:
• t, ,
• Optional inputs:
• Weights => a list, default value null, with the same length as the multidegrees in t, used as the weight vector w
• Minimize => ..., default value false, minimal betti numbers of a non-minimal free resolution
• Outputs:
• , with the same homological degrees, multidegrees, and ranks. If a weight vector w is provided, the total degree weights in the resulting Betti tally will be recomputed by taking the dot products of w with the multidegrees in the tally.

## Description

 i1 : R = ZZ/101[a..d, Degrees => {2:{1,0}, 2:{0,1}}]; i2 : I = ideal random(R^1, R^{2:{-2,-2}, 2:{-3,-3}}); o2 : Ideal of R i3 : t = betti res I 0 1 2 3 4 o3 = total: 1 4 13 14 4 0: 1 . . . . 1: . . . . . 2: . . . . . 3: . 2 . . . 4: . . . . . 5: . 2 . . . 6: . . 1 . . 7: . . 8 6 . 8: . . 4 8 4 o3 : BettiTally i4 : peek t o4 = BettiTally{(0, {0, 0}, 0) => 1 } (1, {2, 2}, 4) => 2 (1, {3, 3}, 6) => 2 (2, {3, 7}, 10) => 2 (2, {4, 4}, 8) => 1 (2, {4, 5}, 9) => 4 (2, {5, 4}, 9) => 4 (2, {7, 3}, 10) => 2 (3, {4, 7}, 11) => 4 (3, {5, 5}, 10) => 6 (3, {7, 4}, 11) => 4 (4, {5, 7}, 12) => 2 (4, {7, 5}, 12) => 2

The following three displays show the first degree, the second degree, and the total degree, respectively.

 i5 : betti(t, Weights => {1,0}) 0 1 2 3 4 o5 = total: 1 4 13 14 4 0: 1 . . . . 1: . 2 2 4 2 2: . 2 5 6 . 3: . . 4 . 2 4: . . . 4 . 5: . . 2 . . o5 : BettiTally i6 : betti(t, Weights => {0,1}) 0 1 2 3 4 o6 = total: 1 4 13 14 4 0: 1 . . . . 1: . 2 2 4 2 2: . 2 5 6 . 3: . . 4 . 2 4: . . . 4 . 5: . . 2 . . o6 : BettiTally i7 : betti(t, Weights => {1,1}) 0 1 2 3 4 o7 = total: 1 4 13 14 4 0: 1 . . . . 1: . . . . . 2: . . . . . 3: . 2 . . . 4: . . . . . 5: . 2 . . . 6: . . 1 . . 7: . . 8 6 . 8: . . 4 8 4 o7 : BettiTally i8 : peek oo o8 = BettiTally{(0, {0, 0}, 0) => 1 } (1, {2, 2}, 4) => 2 (1, {3, 3}, 6) => 2 (2, {3, 7}, 10) => 2 (2, {4, 4}, 8) => 1 (2, {4, 5}, 9) => 4 (2, {5, 4}, 9) => 4 (2, {7, 3}, 10) => 2 (3, {4, 7}, 11) => 4 (3, {5, 5}, 10) => 6 (3, {7, 4}, 11) => 4 (4, {5, 7}, 12) => 2 (4, {7, 5}, 12) => 2

 i9 : t' = multigraded t 0 1 2 3 4 o9 = 0: 1 . . . . 4: . 2a2b2 . . . 6: . 2a3b3 . . . 8: . . a4b4 . . 9: . . 4a5b4+4a4b5 . . 10: . . 2a7b3+2a3b7 6a5b5 . 11: . . . 4a7b4+4a4b7 . 12: . . . . 2a7b5+2a5b7 o9 : MultigradedBettiTally i10 : betti(t', Weights => {1,0}) 0 1 2 3 4 o10 = 0: 1 . . . . 2: . 2a2b2 . . . 3: . 2a3b3 2a3b7 . . 4: . . 4a4b5+a4b4 4a4b7 . 5: . . 4a5b4 6a5b5 2a5b7 7: . . 2a7b3 4a7b4 2a7b5 o10 : MultigradedBettiTally i11 : betti(t', Weights => {0,1}) 0 1 2 3 4 o11 = 0: 1 . . . . 2: . 2a2b2 . . . 3: . 2a3b3 2a7b3 . . 4: . . 4a5b4+a4b4 4a7b4 . 5: . . 4a4b5 6a5b5 2a7b5 7: . . 2a3b7 4a4b7 2a5b7 o11 : MultigradedBettiTally i12 : betti(t', Weights => {1,1}) 0 1 2 3 4 o12 = 0: 1 . . . . 4: . 2a2b2 . . . 6: . 2a3b3 . . . 8: . . a4b4 . . 9: . . 4a5b4+4a4b5 . . 10: . . 2a7b3+2a3b7 6a5b5 . 11: . . . 4a7b4+4a4b7 . 12: . . . . 2a7b5+2a5b7 o12 : MultigradedBettiTally