next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
CharacteristicClasses :: chernClass

chernClass -- computes degrees of the Chern classes

Synopsis

Description

For a non-singular n-dimensional subscheme X of projective space Pk, this command computes the push-forward of the total Chern class of X to the Chow ring of Pk. The output is a polynomial in the hyperplane class, containing the degrees of the Chern classes c0(TX),...,cn(TX) as coefficients.
i1 : setRandomSeed 438;
i2 : R = QQ[x,y,z,w]

o2 = R

o2 : PolynomialRing
i3 : A = matrix{{x,y,z},{y,z,w}}

o3 = | x y z |
     | y z w |

             2       3
o3 : Matrix R  <--- R
i4 : chernClass minors(2,A)

       3     2
o4 = 2H  + 3H

     ZZ[H]
o4 : -----
        4
       H
The 2x2-minors of the matrix A form the ideal of the twisted cubic. It is well-known that its degree is 3 and its genus is 0. The calculations confirm that deg c1 = 2-2g = 2 and deg c0 = 3. It is also possible to provide the symbol for the hyperplane class in the Chow ring of Pk:
i5 : chernClass( minors(2,A), symbol t )

       3     2
o5 = 2t  + 3t

     ZZ[t]
o5 : -----
        4
       t

All the examples were done using symbolic computations with Gröbner bases. Changing the option ResidualStrategy to Bertini will do the main computations numerically, provided Bertini is installed and configured .

The command chernClass actually computes the push-forward of the total Chern-Fulton class of the subscheme X of projective space Pk. The Chern-Fulton class is one of several generalizations of Chern classes to possibly singular subschemes of projective space. It is defined as cCF(X) = c(TPk|X) ∩s(X,Pk). For non-singular schemes, the Chern-Fulton class coincides with the Chern class of the tangent bundle. So for non-singular input, the command will compute just the usual Chern class.

Observe that the algorithm is a probabilistic algorithm and may give a wrong answer with a small but nonzero probability. Read more under probabilistic algorithm.

Ways to use chernClass :