next | previous | forward | backward | up | top | index | toc | Macaulay2 website
NormalToricVarieties :: chern(ZZ,CoherentSheaf)

chern(ZZ,CoherentSheaf) -- compute the Chern class of a coherent sheaf

Synopsis

Description

The total Chern class of a coherent sheaf F on a variety X is defined axiomatically by an element chern F in the Chow ring of X such that the following three conditions hold:

  • For any morphism f : X -> Y, we have chern f^*(F) == f^*(chern F).
  • For each exact sequence 0 -> F' -> F -> F'' -> 0, we have chern F == (chern F') * (chern F'').
  • For any divisor D on X, we have chern OO_X (D) == 1 + [D] where [D] denotes the divisor class in picardGroup X and we identify the Picard group of X with the graded component of the intersection ring having codimenion 1.

The i-th component of chern F is chern (i, F), so we obtain chern F == chern (0, F) + chern (1, F) + ... + chern (dim X, F).

The total Chern class for the tangent bundle on projective space is particularly simple; the coefficient of i-th component is a binomial coefficient.

i1 : d = 3;
i2 : PPd = toricProjectiveSpace d;
i3 : A0 = intersectionRing PPd;
i4 : TP = dual cotangentSheaf PPd

o4 = image {-2} | 0    x_0  x_1 0   |
           {-2} | x_1  -x_2 0   0   |
           {-2} | x_0  0    x_2 0   |
           {-2} | -x_3 0    0   x_2 |
           {-2} | 0    -x_3 0   x_1 |
           {-2} | 0    0    x_3 x_0 |

                                             6
o4 : coherent sheaf on PPd, subsheaf of OO    (2)
                                          PPd
i5 : f0 = chern TP

                 2     3
o5 = 1 + 4t  + 6t  + 4t
           3     3     3

o5 : A0
i6 : assert (A0 === ring f0)
i7 : assert (f0 === (1+A0_0)^(d+1))
i8 : assert all(d, i -> leadCoefficient chern (i, TP) == binomial(d+1,i))
i9 : assert (chern TP === sum (d+1, i -> chern (i, TP)))

On a complete smooth normal toric variety, the total Chern class of the cotangent sheaf is a product over the torus-invariant divisors of the total Chern classes of the inverse of the corresponding line bundles.

i10 : X = smoothFanoToricVariety (4, 50);
i11 : A = intersectionRing X;
i12 : Omega = cotangentSheaf X

o12 = cokernel {2, 0, 0, 0} | 0      x_0x_4x_7 x_0x_3x_6x_7 0            0            x_0x_3x_5x_7 0         0         0         0         |
               {0, 0, 2, 0} | x_3x_4 0         0            x_0x_2x_3x_7 x_0x_1x_3x_7 0            0         0         0         0         |
               {0, 2, 0, 0} | x_5    0         0            0            0            0            x_0x_2x_7 x_0x_1x_7 0         0         |
               {0, 2, 0, 0} | -x_6   0         0            0            0            0            0         0         x_0x_2x_7 x_0x_1x_7 |
               {0, 0, 0, 2} | 0      x_1       0            0            0            0            x_3x_6    0         x_3x_5    0         |
               {0, 0, 0, 2} | 0      -x_2      0            0            0            0            0         x_3x_6    0         x_3x_5    |
               {0, 0, 0, 2} | 0      0         x_1          x_5          0            0            -x_4      0         0         0         |
               {0, 0, 0, 2} | 0      0         -x_2         0            x_5          0            0         -x_4      0         0         |
               {0, 0, 0, 2} | 0      0         0            -x_6         0            x_1          0         0         -x_4      0         |
               {0, 0, 0, 2} | 0      0         0            0            -x_6         -x_2         0         0         0         -x_4      |

                                          1                     1                     2                     6
o12 : coherent sheaf on X, quotient of OO   (-2, 0, 0, 0) ++ OO   (0, 0, -2, 0) ++ OO   (0, -2, 0, 0) ++ OO   (0, 0, 0, -2)
                                         X                     X                     X                     X
i13 : f1 = chern Omega

                                                            2              
o13 = 1 + (- t  - t  - t  - 2t ) + (t t  + t t  + 2t t  + 4t ) + (2t t t  -
              2    4    6     7      2 6    4 6     6 7     7       2 4 6  
      -----------------------------------------------------------------------
          2     3    16 4
      4t t  - 4t ) + --t
        6 7     7     3 7

o13 : A
i14 : assert (f1 ===  product (# rays X, i -> chern OO (-X_i)))
i15 : f3 = chern (2, Omega)

                              2
o15 = t t  + t t  + 2t t  + 4t
       2 6    4 6     6 7     7

o15 : A
i16 : assert (f3 == sum (orbits (X, 2), s -> product (s, i -> A_i)))

See also