# finiteBettiNumbers -- betti numbers of finite resolution computed from a matrix factorization

## Synopsis

• Usage:
L = finiteBettiNumbers MF
• Inputs:
• MF, a list, List of HashTables as computed by "matrixFactorization"
• Outputs:
• L, a list, List of betti numbers

## Description

Uses the ranks of the B matrices in a matrix factorization for a module M over S/(f_1,..,f_c) to compute the betti numbers of the minimal resolution of M over S, which is the sum of the Koszul complexes K(f_1..f_{j-1}) tensored with B(j)

 i1 : setRandomSeed 0 o1 = 0 i2 : kk = ZZ/101 o2 = kk o2 : QuotientRing i3 : S = kk[a,b,u,v] o3 = S o3 : PolynomialRing i4 : ff = matrix"au,bv" o4 = | au bv | 1 2 o4 : Matrix S <--- S i5 : R = S/ideal ff o5 = R o5 : QuotientRing i6 : M0 = R^1/ideal"a,b" o6 = cokernel | a b | 1 o6 : R-module, quotient of R i7 : F = res(M0, LengthLimit =>3) 1 2 3 4 o7 = R <-- R <-- R <-- R 0 1 2 3 o7 : ChainComplex i8 : M = coker F.dd_3; i9 : MF = matrixFactorization(ff,M); i10 : betti res pushForward(map(R,S),M) 0 1 2 o10 = total: 3 5 2 2: 3 4 . 3: . 1 2 o10 : BettiTally i11 : finiteBettiNumbers MF o11 = {3, 5, 2} o11 : List i12 : infiniteBettiNumbers(MF,5) o12 = {3, 4, 5, 6, 7, 8} o12 : List i13 : betti res (M, LengthLimit => 5) 0 1 2 3 4 5 o13 = total: 3 4 5 6 7 8 2: 3 4 5 6 7 8 o13 : BettiTally