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 R, which is the sum of the divided power algebras on c-j+1 variables 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 |
The object infiniteBettiNumbers is a method function.