i1 : R = QQ[x,y,z,w] o1 = R o1 : PolynomialRing |
i2 : A = matrix{{x,y,z},{y,z,w}}
o2 = | x y z |
| y z w |
2 3
o2 : Matrix R <--- R
|
i3 : chernClass minors(2,A)
3 2
o3 = 2H + 3H
ZZ[H]
o3 : -----
4
H
|
i4 : chernClass( minors(2,A), symbol t )
3 2
o4 = 2t + 3t
ZZ[t]
o4 : -----
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.