Skip to main content
1 of 3

Macaulay 2 has two abilities that you want to know about: it can compute the exterior powers of the cotangent sheaf of a projective variety, and it can compute the de Rham cohomology of the complement of an affine hypersurface. I link to the M2 book for a more complete description of the first approach, and to the M2 documentation for the de Rham cohomology of a complement. Although I think both approaches can be used to answer your question completely, I have not been able to figure it how to do it either way.

M2 uses the conormal sequence to find a presentation for the cotangent sheaf. Concretely, this is the Jacobian matrix of the homogeneous forms that cut out your ideal. For example, to compute the sheaf $\Omega^2(V')$ where $X$ is the subscheme defined by the homogeneous polynomial $y^2z-x^3$, one uses the following command:

X=Proj(QQ[x,y,z]/(y^2*z-x^3));
omega2=cotangentSheaf(2,X)

which returns the presentation matrix

cokernel {0} | 0 y 0 0 x2 0  -3x2 0   0   -3yz z4  0   |
         {1} | 0 0 y 0 0  x2 -2y  0   0   -2x  0   z4  |
         {3} | 0 0 0 0 0  0  0    -2y 3x2 0    -2x 3yz |

                                   1       1           1
coherent sheaf on X, quotient of OO   ++ OO  (-1) ++ OO  (-3)
                                   X       X           X

I do not know how to build the exterior derivative to relate the various wedge powers of omega. However, once that's done, M2 can do the hypercohomology spectral sequence. Maybe someone who knows how to do this will answer.

The second approach can compute something similar to the de Rham cohomology you want, since the cohomology of a complement is related by a long exact sequence to the Borel-Moore homology, which is the relative homology of the one-point compactification of $V$ rel the added point.

Here is how to compute the cohomology of the complement of $y^2=x^3$ in $\mathbb{C}^2$:

loadPackage("DModules");
R = QQ[x,y];
f = y^2-x^3;
deRham f

which returns

                 1
HashTable{0 => QQ }
                 1
          1 => QQ
          2 => 0

You can get more detailed information about the differential forms representing these classes by using

deRhamAll f

I hope someone else can explain the proper D-module calculation to answer the question!