Let $k$ be a field and $R=k[x,y,z]$, let $M=R/\langle x^2,xy,yz^2,y^4\rangle$ be $R$-module, how can we compute the left free resolution of $M$, and also the Betti numbers of this resolution?
Computing Betti numbers using Macaulay2
1 Answers
The first step is to plug your module into Macaulay2. As far as I understand from the official tutorial on modules in Macaulay2, the way to make modules is as kernels or cokernels of linear maps given by matrices. Thus, for example you get:
R=QQ[x,y,z]
m=matrix{{x^2,x*y,y*z^2,y^4}}
M=cokernel m
C=resolution M
B=betti C
The first three commands are self-explanatory. The fourth computes a free resolution of the R-module M, and its output looks like:
1 4 4 1
o19 = R <-- R <-- R <-- R <-- 0
0 1 2 3 4
So in partiuclar, we have that the resolution is $M\leftarrow R\leftarrow R^{\oplus 4}\leftarrow R^{\oplus 4}\leftarrow R\leftarrow 0$. If you want to see what the individual maps (differentials) are in terms of matrices, you call the .dd method on the stored resolution to get:
i20 : C.dd
1 4
o20 = 0 : R <-------------------- R : 1
| x2 xy yz2 y4 |
4 4
1 : R <-------------------------- R : 2
{2} | -y 0 0 0 |
{2} | x -z2 -y3 0 |
{3} | 0 x 0 -y3 |
{4} | 0 0 x z2 |
4 1
2 : R <--------------- R : 3
{3} | 0 |
{4} | y3 |
{5} | -z2 |
{6} | x |
1
3 : R <----- 0 : 4
0
The last command, betti, outputs something called a betti talli, which looks something like this:
0 1 2 3
total: 1 4 4 1
0: 1 . . .
1: . 2 1 .
2: . 1 1 .
3: . 1 1 .
4: . . 1 1
The first row are the indices of a free resolution $M\leftarrow F_0\leftarrow F_1\leftarrow F_2\leftarrow F_3\leftarrow 0$, where the $F_i$ are free modules. The second row are the total betti numbers, that is, the ranks of the free modules. Further, we have matrix $(\gamma_{ij})$ with a column for each module in the resolution, and as many rows are necessary to encode the graded betti numbers according to the scheme $\gamma_{ik}=\beta_{i,i+k}$ where $\beta_{ij}$ is the degree $j$ graded betti number for the $i^\text{th}$ free module.