Macaulay2 » Documentation
Packages » Varieties :: canonicalBundle
next | previous | forward | backward | up | index | toc

canonicalBundle -- the canonical bundle of a projective variety

Description

This method computes the canonical bundle of a projective variety $X$. Recall that the canonical bundle of a normal variety is the reflexive hull (aka the double dual) of the top exterior power of the cotangent sheaf $\Omega_X$ on a variety.

An example --the example should be Serre duality and arithmetic genus computation

i1 : Q = QQ[x_1..x_4];
i2 : X = Proj Q

o2 = X

o2 : ProjectiveVariety
i3 : omega = canonicalBundle X

        1
o3 = OO  (-4)
       X

o3 : coherent sheaf on X, free of rank 1
i4 : for i to 3 list HH^i (tangentSheaf X)(-1)

        4
o4 = {QQ , 0, 0, 0}

o4 : List
i5 : for i to 3 list HH^i (dual( (tangentSheaf X)(-1)) ** omega)

                 4
o5 = {0, 0, 0, QQ }

o5 : List
i6 : Y = Proj(Q/(x_1^5+x_2^5+x_3^5+x_4^5))

o6 = Y

o6 : ProjectiveVariety
i7 : isSmooth Y

o7 = true
i8 : omega' = canonicalBundle Y

        1
o8 = OO  (1)
       Y

o8 : coherent sheaf on Y, free of rank 1
i9 : C = cotangentSheaf(2,Y)

o9 = cokernel {4} | -x_1 x_3 0   0    0    0    -x_4 0    0    0   0   0    0    0    0    0   0   0   0    x_4  0    0    0   0   -x_2^4 0      0     0     0      0      x_3^4 x_1^4 0      0      0      0      0      x_2^4  0      0      0      0     0      0      0      0      0      0     |
              {4} | x_2  0   x_3 0    0    0    0    0    0    0   0   0    -x_4 0    0    0   0   0   0    0    x_4  0    0   0   -x_1^4 0      0     0     0      0      0     0     x_1^4  0      0      0      -x_3^4 0      x_2^4  0      0      0     0      0      0      0      0      0     |
              {4} | 0    x_2 x_1 0    0    0    0    0    x_4  0   0   0    0    -x_4 0    0   0   0   0    0    0    0    0   0   0      -x_1^4 x_2^4 0     0      0      0     0     -x_3^4 0      0      0      0      -x_3^4 0      0      0      0     0      0      0      0      0      0     |
              {4} | 0    0   0   x_3  0    0    -x_2 0    0    0   0   0    -x_1 0    0    0   0   0   0    0    0    x_4  0   0   x_4^4  0      0     0     0      0      0     0     0      x_1^4  0      0      0      0      0      x_2^4  0      0     -x_3^4 0      0      0      0      0     |
              {4} | 0    0   0   x_1  0    0    0    -x_2 0    x_4 0   0    0    -x_1 0    0   0   0   0    0    0    0    0   0   0      x_4^4  0     x_2^4 0      0      0     0     0      -x_3^4 0      0      0      0      0      0      0      0     0      -x_3^4 0      0      0      0     |
              {4} | 0    0   0   -x_2 0    0    0    0    -x_2 0   0   0    0    0    -x_1 x_4 0   0   0    0    0    0    0   0   0      0      x_4^4 x_1^4 0      0      0     0     0      0      0      0      0      0      0      x_3^4  0      0     0      0      -x_3^4 0      0      0     |
              {4} | 0    0   0   0    x_3  0    x_3  0    0    0   0   0    0    0    0    0   0   0   -x_1 0    0    0    x_4 0   0      0      0     0     0      0      x_4^4 0     0      0      x_1^4  0      0      0      0      0      x_2^4  0     -x_2^4 0      0      0      0      0     |
              {4} | 0    0   0   0    x_1  0    0    x_3  0    0   x_4 0    0    0    0    0   0   0   0    -x_1 0    0    0   0   0      0      0     0     x_2^4  0      0     x_4^4 0      0      -x_3^4 0      0      0      0      0      0      0     0      -x_2^4 0      0      0      0     |
              {4} | 0    0   0   0    -x_2 0    0    0    x_3  0   0   0    0    0    0    0   x_4 0   0    0    -x_1 0    0   0   0      0      0     0     x_1^4  0      0     0     x_4^4  0      0      0      0      0      0      0      x_3^4  0     0      0      -x_2^4 0      0      0     |
              {4} | 0    0   0   0    0    0    0    0    0    x_3 x_2 0    0    0    0    0   x_1 0   0    0    0    -x_1 0   0   0      0      0     0     -x_4^4 0      0     0     0      x_4^4  0      0      0      0      0      0      0      0     0      0      0      -x_2^4 x_3^4  0     |
              {4} | 0    0   0   0    0    x_3  0    0    0    0   0   0    x_3  0    0    0   0   0   x_2  0    0    0    0   x_4 0      0      0     0     0      0      0     0     0      0      0      x_1^4  -x_4^4 0      0      0      0      x_2^4 -x_1^4 0      0      0      0      0     |
              {4} | 0    0   0   0    0    x_1  0    0    0    0   0   x_4  0    x_3  0    0   0   0   0    x_2  0    0    0   0   0      0      0     0     0      x_2^4  0     0     0      0      0      -x_3^4 0      -x_4^4 0      0      0      0     0      -x_1^4 0      0      0      0     |
              {4} | 0    0   0   0    0    -x_2 0    0    0    0   0   0    0    0    x_3  0   0   x_4 0    0    x_2  0    0   0   0      0      0     0     0      x_1^4  0     0     0      0      0      0      0      0      -x_4^4 0      0      x_3^4 0      0      -x_1^4 0      0      0     |
              {4} | 0    0   0   0    0    0    0    0    0    0   0   x_2  0    0    0    x_3 0   x_1 0    0    0    x_2  0   0   0      0      0     0     0      -x_4^4 0     0     0      0      0      0      0      0      0      -x_4^4 0      0     0      0      0      -x_1^4 0      x_3^4 |
              {4} | 0    0   0   0    0    0    0    0    0    0   0   -x_3 0    0    0    0   x_3 0   0    0    0    0    x_2 x_1 0      0      0     0     0      0      0     0     0      0      0      -x_4^4 0      0      0      0      -x_4^4 0     0      0      0      0      -x_1^4 x_2^4 |

                                         15
o9 : coherent sheaf on Y, quotient of OO   (-4)
                                        Y
i10 : for i to 2 list HH^i (C)

         4       1
o10 = {QQ , 0, QQ }

o10 : List
i11 : for i to 2 list HH^i ((dual C) ** omega') --dual

         1       4
o11 = {QQ , 0, QQ }

o11 : List

We can use this to see the difference between the top exterior power of the cotangent bundle of Z and its reflexive hull.

i12 : Z = Proj(Q/(x_1^2*x_2 - x_3^2*x_4))

o12 = Z

o12 : ProjectiveVariety
i13 : isSmooth Z

o13 = false
i14 : for i to 2 list HH^i canonicalBundle Z

               1
o14 = {0, 0, QQ }

o14 : List
i15 : for i to 2 list HH^i det cotangentSheaf Z

         2    8    1
o15 = {QQ , QQ , QQ }

o15 : List

Recall that the arithmetic genus is given by the number of global sections of the canonical bundle. Projective space has genus 0 in general, and smooth elliptic curves have genus 1. We verify the elliptic curve case in an example:

i16 : R = QQ[x..z]/(y^3 - y*z^2 - x^3)

o16 = R

o16 : QuotientRing
i17 : E = Proj R

o17 = E

o17 : ProjectiveVariety
i18 : for i to 1 list HH^i canonicalBundle E

         1    1
o18 = {QQ , QQ }

o18 : List

Caveat

This method does not check that the input variety $X$ is normal, but rather always returns the reflexive hull of the top exterior power of the cotangent sheaf.

See also

Ways to use canonicalBundle:

  • canonicalBundle(ProjectiveVariety)

For the programmer

The object canonicalBundle is a method function with options.


The source of this document is in Varieties/doc-sheaves.m2:501:0.