next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
Schubert2 > The Horrocks-Mumford bundle

The Horrocks-Mumford bundle -- an example

The Horrocks-Mumford bundle on projective 4-space can be constructed with the following code. We first produce a base point whose intersection ring contains a variable named n, in terms of which we can compute the Hilbert polynomial.
i1 : pt = base(n)

o1 = pt

o1 : an abstract variety of dimension 0
Then we create the projective space of dimension 4 over the base point.
i2 : X = projectiveSpace'_4 pt

o2 = X

o2 : a flag bundle with subquotient ranks {4, 1}
Note that we use projectiveSpace' to get Grothendieck-style notation. This has the advantage that the first Chern class of the tautological line bundle is assigned to the variable h:
i3 : chern_1 OO_X(1)

o3 = h

                       QQ[n][H   , H   , H   , H   , h]
                              1,1   1,2   1,3   1,4
o3 : --------------------------------------------------------------------
     (- H    - h, - H    - H   h, - H    - H   h, - H    - H   h, -H   h)
         1,1         1,2    1,1      1,3    1,2      1,4    1,3     1,4
Now we create an abstract sheaf of rank 2 with 1 + 5 h + 10 h2 as its total Chern class:
i4 : F = abstractSheaf(X, Rank => 2, ChernClass => 1 + 5*h + 10*h^2)

o4 = F

o4 : an abstract sheaf of rank 2 on X
Alternatively, we can use the representation of the Horrocks-Mumford bundle as the cohomology of the monad

0 → OX(-1)5 → ΩX2(2)2 → OX5 → 0

to produce a construction:
i5 : F' = 2 * (exteriorPower_2 cotangentBundle X)(2) - 5 * OO_X(-1) - 5 * OO_X

o5 = F'

o5 : an abstract sheaf of rank 2 on X
i6 : chern F'

               2
o6 = 1 - h + 4h

                       QQ[n][H   , H   , H   , H   , h]
                              1,1   1,2   1,3   1,4
o6 : --------------------------------------------------------------------
     (- H    - h, - H    - H   h, - H    - H   h, - H    - H   h, -H   h)
         1,1         1,2    1,1      1,3    1,2      1,4    1,3     1,4
i7 : rank F'

o7 = 2
Here is the relationship between the two bundles:
i8 : F === dual F'(-2)

o8 = true
Now we compute the Hilbert polynomial of F. This computation makes use of the Riemann-Roch Theorem.
i9 : chi F(n*h)

      1 4   5 3   125 2   125
o9 = --n  + -n  + ---n  + ---n + 2
     12     3      12      6

o9 : QQ[n]