Macaulay2 » Documentation
Packages » NormalToricVarieties :: ch(ZZ,CoherentSheaf)
next | previous | forward | backward | up | index | toc

ch(ZZ,CoherentSheaf) -- compute the Chern character of a coherent sheaf

Synopsis

Description

Given a locally-free sheaf $E$ of rank $r$ on a smooth variety such that its Chern class formally factor as chern $E = \prod_{j=1}^r (1 + \alpha_j)$, we define its Chern character to be ch $E := \sum_{j=1}^r exp(\alpha_j)$. The $i$-th graded piece of this power series is symmetric in the $\alpha_j$ and, hence, expressible as a polynomial in the elementary symmetric polynomials in the $\alpha_j$; we set ch $(i, E)$ to be this polynomial. Because the Chern character is additive on exact sequences of vector bundles and every coherent sheaf can be resolved by locally-free sheaves, we can extend this definition to all coherent sheaves.

The first few components of the Chern character are easily related to other invariants.

i1 : X0 = kleinschmidt(4, {1,2,3});
i2 : E0 = cotangentSheaf X0

o2 = cokernel {2, 0}  | x_2x_3 2x_1x_3 0     0    3x_0x_3 x_1x_2 0     0    0     0    2x_0x_2 0     0    0     0     x_0x_1 0     0     0     0    0     0    0    0     |
              {-4, 2} | x_4    0       0     x_1  0       0      0     0    0     2x_0 0       0     0    0     0     0      0     0     0     0    0     0    0    0     |
              {-4, 2} | -x_5   0       0     0    0       0      0     x_1  0     0    0       0     2x_0 0     0     0      0     0     0     0    0     0    0    0     |
              {-3, 2} | 0      x_4     x_2   0    0       0      0     0    0     0    0       0     0    0     x_0   0      0     0     0     0    0     0    0    0     |
              {-3, 2} | 0      -x_5    0     0    0       0      x_2   0    0     0    0       0     0    0     0     0      0     x_0   0     0    0     0    0    0     |
              {-2, 2} | 0      0       -2x_3 -x_3 0       x_4    0     0    0     0    0       0     0    0     0     0      0     0     0     x_0  0     0    0    0     |
              {-2, 2} | 0      0       0     0    x_4     0      0     0    2x_2  0    0       0     0    x_1   0     0      0     0     0     0    0     0    0    0     |
              {-6, 3} | 0      0       -x_5  -x_5 0       0      -x_4  -x_4 0     0    0       0     0    0     0     0      0     0     0     0    0     0    x_0  0     |
              {-2, 2} | 0      0       0     0    -x_5    0      0     0    0     0    0       2x_2  0    0     0     0      x_1   0     0     0    0     0    0    0     |
              {-2, 2} | 0      0       0     0    0       -x_5   -2x_3 -x_3 0     0    0       0     0    0     0     0      0     0     0     0    0     x_0  0    0     |
              {-1, 2} | 0      0       0     0    0       0      0     0    -3x_3 -x_3 x_4     0     0    0     0     0      0     0     x_1   0    0     0    0    0     |
              {-5, 3} | 0      0       0     0    0       0      0     0    -x_5  -x_5 0       -x_4  -x_4 0     0     0      0     0     0     0    0     0    0    x_1   |
              {-1, 2} | 0      0       0     0    0       0      0     0    0     0    -x_5    -3x_3 -x_3 0     0     0      0     0     0     0    x_1   0    0    0     |
              {0, 2}  | 0      0       0     0    0       0      0     0    0     0    0       0     0    -3x_3 -2x_3 x_4    0     0     -2x_2 -x_2 0     0    0    0     |
              {-4, 3} | 0      0       0     0    0       0      0     0    0     0    0       0     0    -x_5  -x_5  0      -x_4  -x_4  0     0    0     0    -x_2 -2x_2 |
              {0, 2}  | 0      0       0     0    0       0      0     0    0     0    0       0     0    0     0     -x_5   -3x_3 -2x_3 0     0    -2x_2 -x_2 0    0     |
              {-3, 3} | 0      0       0     0    0       0      0     0    0     0    0       0     0    0     0     0      0     0     -x_5  -x_5 -x_4  -x_4 2x_3 3x_3  |

                                           1                2                2                2                1                2                1                1                1                1                1                1                1
o2 : coherent sheaf on X0, quotient of OO    (-2, 0) ++ OO    (4, -2) ++ OO    (3, -2) ++ OO    (2, -2) ++ OO    (6, -3) ++ OO    (2, -2) ++ OO    (1, -2) ++ OO    (5, -3) ++ OO    (1, -2) ++ OO    (0, -2) ++ OO    (4, -3) ++ OO    (0, -2) ++ OO    (3, -3)
                                         X0               X0               X0               X0               X0               X0               X0               X0               X0               X0               X0               X0               X0
i3 : A0 = intersectionRing X0;
i4 : ch E0

                            2               2 3     2
o4 = 4 + (- 4t  - 8t ) + (2t  + 6t t ) + (- -t  - 3t t )
              3     5       3     3 5       3 3     3 5

o4 : A0
i5 : assert (ch (0, E0) == rank E0 )
i6 : assert (ch (1, E0) === chern (1, E0))
i7 : assert (ch (2, E0) === (1/2)*((chern (1, E0))^2 - 2 * chern (2, E0)))

On a complete smooth normal toric variety, the Chern class of the cotangent bundle factors as a product over the irreducible torus-invariant divisors, so we can express the Chern character as a sum.

i8 : X1 = smoothFanoToricVariety (4, 100);
i9 : E1 = dual cotangentSheaf X1

o9 = image {0, -2, 0, 0, 0}  | 0         0         0         -x_3          x_5           0             |
           {0, -2, 0, 0, 0}  | 0         0         0         -x_4          0             x_5           |
           {0, -2, 0, 0, 0}  | 0         0         0         0             -x_4          x_3           |
           {-2, 0, 0, 0, -2} | -x_1x_6   x_2x_7    0         0             0             0             |
           {0, 1, -2, 0, 0}  | x_0x_5x_8 0         x_2x_5x_7 2x_0x_2x_7x_8 0             0             |
           {0, 1, 0, -2, 0}  | 0         x_0x_5x_8 x_1x_5x_6 2x_0x_1x_6x_8 0             0             |
           {0, 1, -2, 0, 0}  | x_0x_3x_8 0         x_2x_3x_7 0             2x_0x_2x_7x_8 0             |
           {0, 1, 0, -2, 0}  | 0         x_0x_3x_8 x_1x_3x_6 0             2x_0x_1x_6x_8 0             |
           {0, 1, -2, 0, 0}  | x_0x_4x_8 0         x_2x_4x_7 0             0             2x_0x_2x_7x_8 |
           {0, 1, 0, -2, 0}  | 0         x_0x_4x_8 x_1x_4x_6 0             0             2x_0x_1x_6x_8 |

                                           3                        1                        1                         1                         1                         1                         1                         1
o9 : coherent sheaf on X1, subsheaf of OO    (0, 2, 0, 0, 0) ++ OO    (2, 0, 0, 0, 2) ++ OO    (0, -1, 2, 0, 0) ++ OO    (0, -1, 0, 2, 0) ++ OO    (0, -1, 2, 0, 0) ++ OO    (0, -1, 0, 2, 0) ++ OO    (0, -1, 2, 0, 0) ++ OO    (0, -1, 0, 2, 0)
                                         X1                       X1                       X1                        X1                        X1                        X1                        X1                        X1
i10 : A1 = intersectionRing X1;
i11 : f1 = ch E1

                                                7 2   3 2   1 2             
o11 = 4 + (t  + t  + 2t  + t  + 2t ) + (2t t  + -t  + -t  + -t  - t t ) + (-
            2    5     6    7     8       2 5   2 5   2 6   2 7    7 8      
      -----------------------------------------------------------------------
          2   1 3   1 3   1   2   1 3     5 4
      2t t  - -t  + -t  + -t t  + -t ) + --t
        2 5   3 6   6 7   2 7 8   3 8    36 8

o11 : A1
i12 : n = # rays X1

o12 = 9
i13 : assert (f1 === (sum(n, i -> ch OO (X1_i)) - (n - dim X1)))

See also

Ways to use this method: