COMPUTING CHARACTERISTIC CLASSES OF PROJECTIVE SCHEMES

PAOLO ALUFFI

Abstract. We discuss an algorithm computing the push-forward to projective space of several classes associated to a (possibly singular, reducible, nonreduced) projective scheme. For example, the algorithm yields the topological Euler characteristic of the support of a projective scheme S, given the homogeneous ideal of S. The algorithm has been implemented in Macaulay2.

1. Introduction

1.1. In this article we describe an algorithm computing, among other things, the topological Euler characteristic of the support of a projective scheme S over ℂ. In fact, we will compute the push-forward to ℙ^{n} of the Chern-Schwartz-MacPherson class c_{SM}(S) of the support of S, given the ideal I of S in ℙ^{n}; as is well known, the Euler characteristic equals the degree of the component of dimension 0 of c_{SM}(S). We also include a computation of the push-forward of the (Chern-)Fulton class c_{F}(S) of S; when S is nonsingular, this provides a different way to compute the Euler characteristic of S.

Other algorithms computing the Euler characteristic of a (possibly singular) scheme are somewhat indirect (see Uli Walther’s contribution to [EGSS02], as well as [Wal01]). The nonsingular case can be treated by computing the Hodge numbers h^{ij}. Even in the nonsingular case, however, we are not aware of algorithms yielding (the degrees of) the Chern classes of S; for a nonsingular variety, the outputs of our algorithms for c_{SM}(S) and c_{F}(S) coincide, and consist precisely of this information.

1.2. The main ingredients to our algorithms are the results of [Alu99] and [Alu], and explicit computations of Segre classes. The considerations in [Alu] reduce the problem of the computation of c_{SM}(S), for S ⊂ ℙ^{n}, to the case in which S is a hypersurface in ℙ^{n}; the main result of [Alu99] translates this case to the computation of a Segre class; and a close look at Segre classes in ℙ^{n} reveals that tools such as Macaulay2 ([GS]) are capable of computing them.

In fact the ability to compute Segre classes appears to us of independent interest, for example in view of potential applications to enumerative geometry. An immediate application to characteristic classes yields the Fulton class c_{F}(S) of S (term by which we refer to the class introduced by William Fulton in [Ful84], Example 4.2.6(a)).

1.3. The article is organized as follows. In §2 we describe the algorithm computing c_{SM}(S), and hence χ(S). We have given this discussion a prominent place since it may be the item of more immediate interest in the paper; but in fact at one key step in the proof of the main result in §2, and in the resulting algorithm, we will borrow some material from the following §3. The algorithm is summarized in §2.6. We end §2 by pointing out that judicious use of the algorithm yields the computation of Euler characteristics of affine schemes (over a field) as well—and hence in principle of arbitrary schemes, as every scheme is the disjoint union of affine ones.

In §3 we discuss the problem of computing more general Segre classes. Serious applications are so far severely limited by technological constraints. However, one subproduct of the discussion in §3 is the algorithm giving Fulton class.

Several concrete examples are given in §4. Among these, we mention the computation of Milnor classes of a projective scheme, as these have been the subject of rather intense work in recent years. Briefly, the Milnor class measures the difference between Chern-Schwartz-MacPherson and Fulton classes of a singular variety. For complete intersections, Shoji Yokura ([Yok99a]) has identified the computation of these classes as a Verdier-Riemann-Roch type problem. The most general results obtained in this direction are in the recent [Sch]; for surveys of work on Milnor classes, see [Yok99b] and [Bra00].

1.4. We have implemented the algorithms described in this paper in Macaulay2. Our code (and, we hope, future improvements) is available at

  http://www.math.fsu.edu/~aluffi/CSM/CSM.html

In any case, the reader should have no difficulties translating the discussion presented in this paper into working routines in Macaulay2 or other commutative algebra/algebraic geometry symbolic packages.

Acknowledgments I thank the Max-Planck-Institut für Mathematik in Bonn, Germany, for the hospitality and support, and Florida State University for granting a sabbatical leave in 2001-2.

2. Chern-Schwartz-MacPherson classes and the Euler characteristic

2.1. Throughout the paper, i : S ↪ ℙ^{n} = ℙ^{n}k will denote a closed embedding; in this section k will be a field of characteristic 0. We will let I = k[z_{0}, …, z_{n}] be a homogeneous ideal defining S.

The output of our computations will be classes in the Chow group of ℙ^{n}. Denoting by H the hyperplane class, this is ℤ[H]/(H^{n+1}): classes in ℙ^{n} will be written as polynomials of degree ≤ n in H, with integer coefficients:

a_{0} + a_{1}H + ⋯ + a_{n}H^{n} .

The degree of a class, denoted ∫, will be the coefficient of H^{n} in such an expression.

2.2. If S is a nonsingular variety, we may consider its (total, homology) Chern class c(T S) ∩ [S]. Chern-Schwartz-MacPherson classes provide a notion agreeing with c(T S) ∩ [S] when S is nonsingular, but defined regardless of the nonsingularity of S. Further, they satisfy a clever functorial prescription, which we quickly summarize.

Denote by c_{SM}(S) the Chern-Schwartz-MacPherson class of S, and extend this definition to constructible functions by setting

c_{SM}(∑_{V ⊂S} m_{V} 11_{V}) = ∑_{V} m_{V} c_{SM}(V) .

Here the sum is finite, V are closed subvarieties of S, m_{V} ∈ ℤ, and 11_{V} denotes the function that is 1 along V and 0 outside of V. This defines a homomorphism of abelian groups C(S) → A(S) for every S, where C, A denote respectively the functor of constructible functions (with push-forward defined by Euler characteristic of fibers) and the Chow group functor. But in fact

c_{SM} : C ⇝ A

defines a natural transformation: this was proved by Robert MacPherson in the article where the classes are introduced. For MacPherson’s construction of c_{SM}, and for more information, we address the reader to the original [Mac74], or to [Ken90] (extending the theory to arbitrary algebraically closed field of characteristic 0); and to [Bra00] for a comparison with the different approach of Marie-Hélène Schwartz, in fact predating MacPherson’s work. Regardless of the approach, at the moment the theory of Chern-Schwartz-MacPherson classes has only been studied in characteristic 0, and this is why we assume that our ground field is of characteristic 0 in this section.

2.3. In fact, the theory is usually only applied to reduced schemes. More generally, we take c_{SM}(S) to be the Chern-Schwartz-MacPherson class of the support S_{red} of S. As a very particular case of the functoriality of Chern-Schwartz-MacPherson classes, consider the constant map on a proper scheme S,

κ : S → point .

Then the covariance of c_{SM} for κ amounts to

κ_{∗}c_{SM}(S) = c_{SM}(κ_{∗}11_{S}) = c_{SM}(χ(S_{red})11_{point}) = χ(S_{red})[point] ,

and in particular

∫ c_{SM}(S) = χ(S_{red}) .

With S projective, and i : S → ℙ^{n} a closed embedding, this says that

χ(S_{red}) = ∫ i_{∗}c_{SM}(S) :

that is, the topological Euler characteristic of the support of S equals the coefficient of H^{n} in

i_{∗}c_{SM}(S) = c_{0} + c_{1}H + ⋯ + c_{n}H^{n} .

Computing this class is our main goal.

We note in passing that the computations we will describe can all be performed over any field over which S is defined. Thus, a tool such as Macaulay2 will be able to compute the topological Euler characteristic of a scheme S ⊂ ℙ^{n}ℂ by working over ℚ (for example), so long as S is in fact defined over ℚ.

2.4. We will now describe a procedure computing i_{∗}c_{SM}(S), given a homogeneous ideal

I = (F_{1}, …, F_{r})

defining S in ℙ^{n}. Write

S = X_{1} ∩ ⋯ ∩ X_{r}

where X_{i} is the hypersurface defined by F_{i}. Applying ‘inclusion-exclusion’, it suffices then (see [Alu]) to compute i_{∗}c_{SM}(X) for X ranging over the unions X_{i_{1}} ∪ ⋯ ∪ X_{i_{s}}, 1 ≤ s ≤ r. In other words, the problem of computing i_{∗}c_{SM}(S) is readily reduced to the computation of i_{∗}c_{SM}(X) for X a hypersurface in ℙ^{n}.

If X is a hypersurface, the computation of c_{SM}(X) is reduced to the computation of the Segre class of the singularity subscheme of X by the main result of [Alu99]. The form taken by this result when the ambient nonsingular variety is projective space is the following.

2.5. Let X ⊂ ℙ^{n} be a hypersurface, with homogeneous ideal (F) ⊂ k[z_{0}, …, z_{n}]. Consider the rational map

ℙ^{n} −−→ ℙ^{N} = ℙ^{n}

defined by

p ↦ (\frac{∂F}{∂z_{0}} _{|_{p}} : ⋯: \frac{∂F}{∂z_{n}} _{|_{p}}) .

We let Γ be the (closure of the) graph of this map. Viewing ℙ^{n} × ℙ^{N} as a ℙ^{N}-bundle over ℙ^{n}, we are interested in what we elsewhere call the shadow of the class of Γ: that is, letting K be the pull-back of the hyperplane class from ℙ^{N}, the class

G = g_{0} + g_{1}H + ⋯ + g_{n}H^{n}

in A_{∗}ℙ^{n}, where g_{i} is the degree of the image in ℙ^{n} of K^{i} · [Γ].

Theorem 2.1. With the notations introduced above,

i_{∗}c_{SM}(X) = (1 + H)^{n+1} − ∑_{i=0}^{n} g_{d} (−H)^{d}(1 + H)^{n−d} .

Proof. By Theorem I.4 in [Alu99],

i_{∗}c_{SM}(X) = c(T ℙ^{n}) ∩ i_{∗} (s(X, ℙ^{n}) + c(O(X))^{−1} ∩ (s(Y, ℙ^{n})^{∨} ⊗ O(X)))

where Y denotes the singularity subscheme of X; this is the scheme defined by the vanishing of the partials of F. By Proposition 3.1 in the next section, i_{∗}s(Y, ℙ^{n}) can be recovered from the class G = g_{0} + g_{1}H + ⋯ + g_{n}H^{n}:

i_{∗}s(Y, ℙ^{n}) = 1 − c(O(dH))^{−1} ∩ (G ⊗ O(dH)) ,

where d = deg X − 1 (so O(X) = O((d + 1)H)).

The manipulations massaging this formula into the one given in the statement are streamlined by using Proposition 1 in [Alu94]:

i_{∗}s(Y, ℙ^{n})^{∨} = 1 − c(O(−dH))^{−1} ∩ (G^{∨} ⊗ O(−dH))

i_{∗}s(Y, ℙ^{n})^{∨} ⊗ O(X) = 1 − \frac{c(O(X))}{c(O(H))} ∩ (G^{∨} ⊗ O(H))

c(O(X))^{−1} ∩ (i_{∗}s(Y, ℙ^{n})^{∨} ⊗ O(X)) = c(O(X))^{−1} − c(O(H))^{−1} (G^{∨} ⊗ O(H)) , and hence

\begin{aligned}i_{∗}c_{SM}(X) & = (1 + H)^{n+1} (c(O(X))^{−1} ∩ [X] + c(O(X))^{−1} − c(O(H))^{−1} (G^{∨} ⊗ O(H))) \\ & = (1 + H)^{n+1} − (1 + H)^{n}(G^{∨} ⊗ O(H)) \end{aligned}

which translates into the formula given in the statement.

2.6. Therefore, up to the bookkeeping of inclusion-exclusion and to trivial algebraic manipulations, the problem of computing i_{∗}c_{SM}(S) is reduced by Theorem 2.1 to the computation of the shadow G of the graph Γ of a rational map. This is the key ingredient, and since it yields more generally the Segre class of any closed subscheme of ℙ^{n} we discuss it separately, in §3.

Summarizing: given the ideal I = (F_{1}, …, F_{r}) of S, an algorithm computing i_{∗}c_{SM}(S) will

• list all products F = ∏_{i_{1}<···<i_{s}} F_{i_{1}} · · · · · F_{i_{s}};

• for each such F, compute the jacobian ideal J = (\frac{∂F}{∂z_{0}} , …, \frac{∂F}{∂z_{n}}), and apply the procedure described in §3 in order to compute the corresponding class G;

• apply Theorem 2.1 to this class, and obtain i_{∗}c_{SM}(X) for the hypersurface X corresponding to F;

• apply inclusion-exclusion to reconstruct i_{∗}c_{SM}(S). The coefficient of H^{n} in i_{∗}c_{SM}(S) gives the Euler characteristic of the support of S.

2.7. If r is the number of generators of the ideal of S, one ‘shadow’ computation is required for each of the 2^{r} − 1 hypersurfaces invoked by inclusion-exclusion. This causes an exponential slow-down of the procedure as the codimension of S increases.

It is somewhat amusing that the result of the computation, that is, i_{∗}c_{SM}(S), only depends on the support of S, even if in no place does the algorithm explicitly compute the support of S, or of the hypersurfaces X considered at intermediate stages. In fact, introducing intermediate computations of supports may speed up the algorithm: any procedure ‘simplifying’ the input I—in the sense of reducing the number and degree of the generators, without altering the radical of I—should lead to an increase in the efficiency of the procedure.

2.8. The procedure is easily adapted to the computation of the Euler characteristic of (the support of) a closed subscheme S of affine space 𝔸^{n}, given its defining ideal. This can be done in several ways: for example, one may homogenize the ideal of S, obtaining the closure \overline{S} ⊂ ℙ^{n}; then multiply this ideal by the equation of the hyperplane L at infinity, obtaining the union \overline{S} ∪ L ⊂ ℙ^{n}; and then compute

χ(S) = χ(\overline{S} ∪ L) − (n + 1) .

As an alternative, one may intersect with the hyperplane at infinity, obtaining a ‘limit’ subscheme \underline{S} ⊂ ℙ^{n−1}; and then

χ(S) = χ(\overline{S}) − χ(\underline{S}) .

This approach appears to be much faster in practice.

3. Computing Segre classes of subschemes of ℙ^{n}

3.1. We can now lift the restriction on the characteristic of the ground field k, as they are irrelevant for the considerations in this section. Again we let i : S ↪ ℙ^{n} be a closed embedding of a scheme S in projective space ℙ^{n} = ℙ^{n}k; our goal is to give an explicit procedure computing the push-forward

i_{∗}s(S, ℙ^{n}) ∈ A_{∗}ℙ^{n}

of the Segre class s(S, ℙ^{n}) of S in ℙ^{n}. By Proposition 3.1 this will be reduced to the computation of a ‘shadow’, as has been the case in §2; we will then discuss the computation of shadows, in §3.5 and ff.

3.2. Let I = (f_{0}, …, f_{N}) ⊂ k[z_{0}, …, z_{n}] be a homogeneous ideal defining S. We may and will assume that the generators f_{i} are all of the same degree r; in other words, we write S as the zero-scheme of a section of O(rH)^{⊕(n+1)}:

(f_{0}, …, f_{N}) : O_{ℙ^{n}} → O(rH)^{⊕(n+1)} .

Projectivizing, we get a rational map

ℙ^{n} −−→ ℙ^{N}

and we let

Γ_{I} ⊂ ℙ^{n} × ℙ^{N}

denote the (closure of the) graph of this map. Denote by K the pull-back of the hyperplane class from the ℙ^{N} factor, and by π the projection Γ_{I} → ℙ^{n}. The shadow of Γ_{I} is the class

G = g_{0} + g_{1}H + ⋯ + g_{n}H^{n} ∈ A_{∗}ℙ^{n} ,

where g_{i} is the degree of π_{∗}(K^{i} · [Γ_{i}]).

3.3. Now we can state and prove the simple result used in the proof of Theorem 2.1. The statement, as that proof, uses the notations from [Alu99].

Proposition 3.1. With the above positions,

i_{∗}s(S, ℙ^{n}) = 1 − c(O(rH))^{−1} ∩ (G ⊗ O(rH)) .

Proof. By construction, the graph Γ_{I} is isomorphic to the blow-up of ℙ^{n} along S, and the class of the exceptional divisor E on Γ_{I} equals the restriction of c_{1}(O(−1)) from ℙ(O(rH)^{⊕(n+1)}) ≅ ℙ^{n}. Chasing this identification, we see that the class of E is rH − K. Hence using [Ful84], Corollary 4.2.2:

s(S, ℙ^{n}) = π_{∗} \frac{[E]}{1 + E} = π_{∗} \frac{[rH − K]}{1 + rH − K} .

Pushing forward to ℙ^{n}, this can be manipulated as follows:

π_{∗} \frac{[rH − K]}{1 + rH − K} = π_{∗} ([Γ_{I}] − \frac{1}{1 + rH − K} · [Γ_{I}])

= 1 − π_{∗} (\frac{1}{1 + rH} · \frac{1 + rH}{1 + rH − K} · [Γ_{I}])

= 1 − c(O(rH))^{−1}π_{∗} ∩ ((\frac{1}{1 − K} · [Γ_{I}]) ⊗ O(rH))

= 1 − c(O(rH))^{−1} · (G ⊗ O(rH))

as claimed.

3.4. The upshot of Theorem 2.1 and Proposition 3.1 is that we can compute Chern-Schwartz-MacPherson classes and Segre classes (and hence Fulton classes) if we can extract the integers g_{i} giving the coefficients of the class G determined by a graph Γ_{I}. That is, we must be able to

• obtain Γ_{I} explicitly;

• intersect Γ_{I} with general hyperplanes;

• project the intersections down to ℙ^{n}; and compute the degree of these projections.

Each of these steps is easily implemented in any of the standard symbolic computations packages; we briefly discuss this in the following subsections.

3.5. Obtaining Γ_{I} explicitly. A bihomogeneous ideal for the graph Γ_{I} can be given in the ring

k[t_{0}, …, t_{N}, z_{0}, …, z_{n}]

by the following trick (going back at least as far as [Mic64], proof of Lemma 1): adjoin an auxiliary variable u to the ring, and consider the ideal

J = (t_{0} − uf_{0}, …, t_{N} − uf_{N})

in the extended ring. Then the ideal for Γ_{I} is the contraction

J_{0} := J ∩ k[t_{0}, …, t_{N}, z_{0}, …, z_{n}] .

Indeed, J is the kernel of the homomorphism

k[u, t_{0}, …, t_{N}, z_{0}, …, z_{n}] → k[u, z_{0}, …, z_{n}]

obtained by mapping t_{i} to uf_{i}; a polynomial P ∈ k[t_{0}, …, t_{N}, z_{0}, …, z_{n}] maps to 0 by this map if and only if P vanishes whenever (t_{0} : ⋯: t_{N}) = (f_{0} : ⋯: f_{N}).

The ideal J_{0} of Γ_{I} can thus be obtained by standard elimination theory: choose a monomial order so that u precedes the other variables; compute a Gröbner basis for J; and eliminate u to obtain the intersection of J with the ring k[t_{0}, …, t_{N}, z_{0}, …, z_{n}].

Needless to say, this operation is rather computationally expensive. Of course, any other algorithm computing the Rees algebra of I can be employed here; the topic is treated extensively in [Vas98], §7.2.

3.6. Intersecting Γ_{I} with general hyperplanes. Programs such as Macaulay2 include the option of producing ‘random’ elements of given degree in a ring; for i = 1, …, n we can inductively set

J_{i} := saturate(J_{i−1} + (ℓ_{i}), (t_{0}, …, t_{N})) ,

where ℓ_{i} = ℓ_{i}(t_{0}, …, t_{N}) is a random linear polynomial in k[t_{0}, …, t_{N}], and the saturation is necessary to remove possible components in the intersection supported on the irrelevant ideal, see below.

Of course we have to take care that random is sufficiently random. For the purposes of this computation, a hyperplane is general if it does not contain any component of the object it is intersecting, that is, if it is not contained in any of the associated primes of the corresponding ideal. This can be explicitly checked, for example by making sure that the dimension decreases upon intersecting with the hyperplane.

Thus the ideals J_{i} can be obtained as above, by producing enough random ℓ_{i} until a general one is found.

As for the saturation, the manipulation of the ideals in k[t_{0}, …, t_{N}, z_{0}, …, z_{n}] amounts to working in 𝔸^{n+1} × 𝔸^{N+1}. Saturating with respect to the irrelevant ideal (t_{0}, …, t_{N}) guarantees that there is a bijection between the components of the subscheme defined by J_{i} in 𝔸^{n+1} × 𝔸^{N+1} and those (about which we are interested) in 𝔸^{n+1} × ℙ^{N}.

Example 3.2. Here is an example showing that extra components may indeed appear. Consider I = (z_{0}, z_{1}) in k[z_{0}, z_{1}]. Then, with notations as above,

J_{0} = (z_{0}t_{1} − z_{1}t_{0}) .

Intersecting by t_{0} does decrease the dimension (so that t_{0} is general in the above sense), but creates a component supported on the irrelevant ideal:

(z_{0}t_{1} − z_{1}t_{0}) + (t_{0}) = (t_{0}, t_{1}) ∩ (z_{0}, t_{0}) .

Saturating with respect to (t_{0}, t_{1}) eliminates such spurious components.

3.7. Projecting down to ℙ^{n}. This is also done by elimination theory. Once J_{i} is obtained, we can ask for the Gröbner basis with respect to a monomial ordering in which t_{0}, …, t_{N} precede z_{0}, …, z_{n}, then eliminate t_{0}, …, t_{N}. This computes

J_{i} ∩ k[z_{0}, …, z_{n}] ,

that is, the homogeneous ideal in ℙ^{n} of the projection of the i-th linear section.

3.8. Programs such as Macaulay2 compute the degree of the scheme defined by a given homogeneous ideal without difficulty. Applying this to the ideal obtained in the previous step produces the list of integers

g_{0} = 1 , g_{1} , …, g_{n}

needed in Theorem 2.1 and Proposition 3.1.

3.9. Every scheme S embeddable in a nonsingular variety M has an intrinsic Fulton class

c_{F}(S) = c(T M) ∩ s(S, M)

(see [Ful84], Example 4.2.6(a)). As i_{∗}s(S, ℙ^{n}) is available via the procedure described above, so is

i_{∗}c_{F}(S) = (1 + H)^{n+1} · i_{∗}s(S, ℙ^{n})

for a projective scheme.

That c_{F}(S) is intrinsic means that it does not depend on the chosen embedding. For example, if S itself is nonsingular, then

c_{F}(S) = c(T S) ∩ [S] ,

and in particular

∫ i_{∗}c_{F}(S) = ∫ c(T S) ∩ [S] = χ(S)

computes (in characteristic 0) the Euler characteristic of S. It seems, however, that the computation of the Euler characteristic via h^{ij} would be much faster in this case.

Not much is known about c_{F}(S) in general, even regarding ∫ c_{F}(S) (cf. [Ful84], Example 4.2.6(b)). If S is a local complete intersection, then c_{F}(S) equals the class of the virtual tangent bundle of S. In this case, identifying the difference between c_{F}(S) and the functorial c_{SM}(S) has been identified by Yokura as a Verdier-type Riemann-Roch problem; cf. Example refmilnor.

4. Examples

We won’t reproduce here the Macaulay2 code implementing the above steps, as further details seem unnecessary, and our code is certainly much less than optimal. A documented copy of the code (and of future improvements) is available at

  http://www.math.fsu.edu/~aluffi/CSM/CSM.html

In the present version, loading the code (named CSM.m2) produces several functions:

  • segre
  • cf
  • csm
  • euleraffine

with hopefully evident meaning. The first three items accept a homogeneous ideal in a polynomial ring as argument; euleraffine accepts a (not necessarily homogeneous) ideal in a polynomial ring.

The simple examples which follow are meant to illustrate the use of these functions.

Macaulay 2, version 0.9
--Copyright 1993-2001, D. R. Grayson and M. E. Stillman
--Singular-Factory 1.3b, copyright 1993-2001, G.-M. Greuel, et al.
--Singular-Libfac 0.3.2, copyright 1996-2001, M. Messollen
i1 : load "CSM.m2"
--loaded CSM.m2

Most of the examples are chosen in projective spaces of dimension 2,3, and 4 over ℚ:

i2 : ringP2=QQ[x,y,z]; ringP3=QQ[x,y,z,w]; ringP4=QQ[x,y,z,w,t];

Example 4.1 (Three concurrent lines in ℙ^{3}). The Segre class of the reduced scheme S supported on three general distinct lines through a point in ℙ^{3} is computed by

i5 : use ringP3; segre ideal(x*y,x*z,y*z)
                   3     2
Segre class : - 10H  + 3H

The output is written in the Chow ring of ℙ^{3}, where H denotes the hyperplane class; thus the result is

i_{∗}s(S, ℙ^{3}) = 3[ℙ^{1}] − 10[ℙ^{0}] .

The class changes if the lines become coplanar. For instance, consider the ideal (z, xy(x + y)) (in order to compute the Segre class in this case, the routine modifies the ideal so that all generators have the same degree:

(x^{2}z, y^{2}z, z^{3}, z^{2}w, xy(x + y)) ;

this ideal defines the same scheme, so it yields the same Segre class).

i7 : segre ideal(z,x*y*(x+y))
                   3     2
Segre class : - 12H  + 3H

Or we may argue that since three coplanar lines form a plane curve of degree 3, the Fulton class of S must equal the class for a nonsingular plane cubic; then use that Fulton classes are intrinsic (see §3.9) to compute the Segre class in ℙ^{3}. This gives the same result:

\frac{3H^{2}}{(1 + H)^{4}} = 3H^{2} − 12H^{3} .

In order to compute directly the Fulton classes for these two examples:

i8 : CF ideal(x*y,x*z,y*z)
                 3     2
Fulton class : 2H  + 3H
i9 : CF ideal(z,x*y*(x+y))
                 2
Fulton class : 3H

while the Chern-Schwartz-MacPherson classes are:

i10 : CSM ideal(x*y,x*z,y*z)
                                   3     2
Chern-Schwartz-MacPherson class : 4H  + 3H
i11 : CSM ideal(z,x*y*(x+y))
                                   3     2
Chern-Schwartz-MacPherson class : 4H  + 3H

This example illustrates that Chern-Schwartz-MacPherson classes are, to some extent, ‘combinatorial objects’: unlike Fulton classes, they do not tell the difference between the two configurations.

Example 4.2 (plane cubics). However, Fulton classes cannot tell the difference between a nonsingular plane cubic and a singular one. We switch to dimension 2, which speeds up the computations somewhat; the Fulton classes for (x^{3} + y^{3} + z^{3}) and (xy(x + y)) agree:

i12 : use ringP2; CF ideal(x^3+y^3+z^3); CF ideal(x*y*(x+y))
Fulton class : 3H
Fulton class : 3H

while the Chern-Schwartz-MacPherson classes for the same ideals differ:

i15 : CSM ideal(x^3+y^3+z^3); CSM ideal(x*y*(x+y))
Chern-Schwartz-MacPherson class : 3H
                                   2
Chern-Schwartz-MacPherson class : 4H  + 3H

The Euler characteristic in the second case is computed to be 4, as it should. Taking the ideal (xy(x + y))) in the affine plane gives a cone, so the Euler characteristic of the corresponding scheme in 𝔸^{2} must be 1:

i17 : use QQ[x,y]; euleraffine ideal(x*y*(x+y))
o18 = 1

while the Euler characteristic of the nonsingular affine cubic x^{3} + y^{3} = 1 is −3:

i19 : euleraffine ideal(x^3+y^3-1)
o19 = -3

Example 4.3 (A nonreduced example). Here are c_{F} and c_{SM} for a reduced pair of lines in ℙ^{2}:

i20 : use ringP2; CF ideal(x*y); CSM ideal(x*y)
                 2
Fulton class : 2H  + 2H
                                   2
Chern-Schwartz-MacPherson class : 3H  + 2H

In ℙ^{3}, we can consider the ideal (xy, xz, yz, z^{2}) = (x, z)(y, z): this defines a scheme supported on two concurrent lines, but with a nilpotent on the point of intersection. This can be checked with Macaulay2:

i23 : use ringP3; ass ideal(x*y,x*z,y*z,z^2)
o24 = {ideal (z, x), ideal (z, y), ideal (z, y, x)}
o24 : List

And here are c_{F} and c_{SM}:

i25 : CF ideal(x*y,x*z,y*z,z^2); CSM ideal(x*y,x*z,y*z,z^2)
                 3     2
Fulton class : 4H  + 2H
                                   3     2
Chern-Schwartz-MacPherson class : 3H  + 2H

As should be expected, c_{F} detects the embedded component, while c_{SM} ignores it.

Example 4.4 (Quintic threefold). Fulton and Chern-Schwartz-MacPherson classes agree for nonsingular varieties S, as they both give the total (homology) Chern class of the tangent bundle of S. Here is the computation for the Fermat quintic in ℙ^{4}:

i27 : use ringP4; quintic=ideal(x^5+y^5+z^5+w^5+t^5);
o28 : Ideal of ringP4
i29 : CF quintic; CSM quintic
                     4      3
Fulton class : - 200H  + 50H  + 5H
                                       4      3
Chern-Schwartz-MacPherson class : - 200H  + 50H  + 5H

giving Euler characteristic= −200, as it should be. Computing the Euler characteristic of singular quintic threefolds is equally straightforward; here is a random example inspired by reading about elliptic Calabi-Yau threefolds:

i31 : CSM ideal(x^3*t^2+x*z^4+w^5-y^2*t^3)
                                   4      3
Chern-Schwartz-MacPherson class : 4H  + 38H  + 5H

that is, the hypersurface obtained by closing up y^{2} = x^{3} + z^{4}x + w^{5} in ℙ^{4} has Euler characteristic 4.

Example 4.5 (Discriminants). Identify ℙ^{3} with the space of triples of points in ℙ^{1}. The set of nonreduced triples forms a hypersurface of degree 4. Here is its Chern-Schwartz-MacPherson class:

i32 : use ringP3;
i33 : CSM ideal(-27*x^2*w^2+18*x*w*y*z+y^2*z^2-4*y^3*w-4*x*z^3)
                                   3     2
Chern-Schwartz-MacPherson class : 4H  + 6H  + 4H

This agrees with the computation in [Alu98]. In general, the Euler characteristic of the discriminant hypersurface for d-tuples is (d + 1).

Identifying ℙ^{5} with the space of plane conics, we have similarly a discriminant hypersurface parametrizing singular conics, that is, pairs of lines; explicitly, this can be realized as the determinant of a symmetric 3 × 3 matrix. Its Chern-Schwartz-MacPherson class:

i34 : use QQ[x,y,z,w,t,u];
i35 : CSM ideal det matrix {{x,y,z},{y,w,t},{z,t,u}}
                                   5      4      3     2
Chern-Schwartz-MacPherson class : 6H  + 12H  + 14H  + 9H  + 3H

The Chern-Schwartz-MacPherson class of the discriminant of plane cubics is computed in [Alu98], Corollary 12; but that computation seems to be computationally out of reach of CSM.m2 at present.

Example 4.6 (d-tuples). A good source of examples of applications of Segre classes is enumerative geometry. As the procedure described in §3 computes the Segre class precisely by solving a number of enumerative problems, it is hardly surprising that the enumerative answers can be decoded back from the Segre class; the examples that follow illustrate this procedure.

The degree of the PGL(2)-orbit closure of a configuration of d points in ℙ^{1} (counting multiplicities) has been studied in [AF93]. For a configuration C, this degree computes the number (with multiplicities) of translates of C which contain three given general points; the ‘predegree’ of an orbit closure counts such translates according to automorphisms of the d-tuple. In order to use a Segre class to compute this predegree, one can parametrize translates of a fixed C by the ℙ^{3} of 2 × 2 matrices

(\begin{matrix}x & y \\ z & w \end{matrix}) ;

the condition that the translate of C contains a point determines a surface in this ℙ^{3}, and the predegree is given by the number of points of intersection of three general such surfaces. The problem of computing this number is not immediately reduced to Bézout’s theorem because these surfaces have an excess intersection. In general, contributions of excess intersections can be evaluated in terms of a Segre class by using Proposition 9.1.1 in [Ful84]. With this in mind, the predegree of the orbit closure is given by

d^{3} − ∫ (1 + dH)^{3}i_{∗}s(S, ℙ^{3}) ,

where d is the degree of C, and S is the base scheme of the map ℙ^{3} −−→ ℙ^{d} mapping a matrix as above to the corresponding translate of C.

For a concrete example, consider the 5-tuple with ideal generated by

s(s + 3t)^{2}(s + 5t)(s + 16t)

in ℙ^{1}. The reader should have no difficulties obtaining the ideal of S. Using this, our routine computes i_{∗}s(S, ℙ^{3}) as

\{ \begin{matrix}13H^{2} − 70H^{3} \\ 11H^{2} − 58H^{3} \\ 9H^{2} − 34H^{3} \\ 7H^{2} − 22H^{3} \end{matrix}

in characteristic 2, 3, 5, and 7 respectively. For example (the ideal is loaded from a separate file):

i36 : use ZZ/3[x,y,z,w]; load "dtupleideal.m2";
--loaded dtupleideal.m2
i38 : segre dtupleideal
                   3      2
Segre class : - 58H  + 11H

Using the formula given above, these classes correspond to predegrees 0, 18, 24, 42 respectively in char. 2, 3, 5, 7. These numbers are nicely explained by the result in [AF93]: in characteristic 2 the tuple collapses to a pair of points, hence its orbit closure has dimension 2; in characteristic 3 it consists of three points with multiplicities 3, 1, 1; in characteristic 5, three points with multiplicities 2, 2, 1; and in characteristic 7 (and most others, including 0) of four points, one of which double. These multiplicities determine the predegree of the orbit closure, by [AF93], Proposition 1.3; applying that result gives the same predegrees as obtained here by brute force.

Example 4.7 (Milnor classes). The function milnor computes both Fulton and Chern-Schwartz-MacPherson classes, giving i_{∗} of the difference

c_{SM}(S) − c_{F}(S) .

This class (up to a sign, cf. the definition of M(Z) in [PP01], p. 64) has been named the Milnor class of S; to our knowledge, it has not been studied in any depth for schemes other than reduced local complete intersection.

If S is a hypersurface with isolated singularities, then i_{∗} of the Milnor class of S is simply (up to sign) μH^{n}, where μ is the sum of the Milnor numbers of the singularities; this is the reason for the choice of terminology.

i39 : use ringP2; milnor ideal(y^6+z*x^3*y^2+z^2*x^4)
                    2
Fulton class : - 18H  + 6H
Chern-Schwartz-MacPherson class : 6H
                  2
Milnor class : 18H

This says that the sum of the Milnor numbers of the curve y^{6} + x^{3}y^{2}z + x^{4}z^{2} = 0 in ℙ^{2} is 18. It may be checked that this curve has singularities at (x : y : z) = (1 : 0 : 0) and (0 : 0 : 1), with Milnor numbers respectively 3 and 15, consistently with this information.

More generally, the coefficient of H^{n} in the output of milnor for an arbitrary hypersurface of ℙ^{n} computes Adam Parusiński’s generalization of the Milnor number, [Par88], whether the singularities are isolated or not.

Our routine compute a notion of Milnor class for arbitrary projective schemes. For example, the following would be the computation of the Milnor class of the union of a line and a plane in ℙ^{3}:

i41 : use ringP3; milnor ideal(x*y,x*z)
                 3     2
Fulton class : 2H  + 4H  + H
                                   3     2
Chern-Schwartz-MacPherson class : 4H  + 4H  + H
                 3
Milnor class : 2H

In fact such computations may be performed in any characteristic; so far as we know, no interpretation of the class is known in positive characteristic.

Recent work of Jörg Schürmann, [Sch], relates Milnor classes of complex local complete intersection with his generalization of Deligne’s functor of vanishing cycles.

References

[AF93] Paolo Aluffi and Carel Faber. Linear orbits of d-tuples of points in p^{1}. J. Reine Angew. Math., 445:205–220, 1993.

[Alu] Paolo Aluffi. Inclusion-exclusion and Segre classes. FSU02-11, arXiv:math.AG/0203122.

[Alu94] Paolo Aluffi. MacPherson’s and Fulton’s Chern classes of hypersurfaces. Internat. Math. Res. Notices, (11):455–465, 1994.

[Alu98] Paolo Aluffi. Characteristic classes of discriminants and enumerative geometry. Comm. Algebra, 26(10):3165–3193, 1998.

[Alu99] Paolo Aluffi. Chern classes for singular hypersurfaces. Trans. Amer. Math. Soc., 351(10):3989–4026, 1999.

[Bra00] Jean-Paul Brasselet. From Chern classes to Milnor classes—a history of characteristic classes for singular varieties. In Singularities—Sapporo 1998, pages 31–52. Kinokuniya, Tokyo, 2000.

[EGSS02] D. Eisenbud, D. Grayson, M. Stillman, and B. Sturmfels. Computations in algebraic geometry with Macaulay 2. Springer-Verlag, Berlin, 2002.

[Ful84] William Fulton. Intersection theory. Springer-Verlag, Berlin, 1984.

[GS] Daniel R. Grayson and Michael E. Stillman. Macaulay 2, a software system for research in algebraic geometry. Available at http://www.math.uiuc.edu/Macaulay2.

[Ken90] Gary Kennedy. MacPherson’s Chern classes of singular algebraic varieties. Comm. Algebra, 18(9):2821–2839, 1990.

[Mac74] R. D. MacPherson. Chern classes for singular algebraic varieties. Ann. of Math. (2), 100:423–432, 1974.

[Mic64] Artibano Micali. Sur les algèbres universelles. Ann. Inst. Fourier (Grenoble), 14(fasc. 2):33–87, 1964.

[Par88] Adam Parusiński. A generalization of the Milnor number. Math. Ann., 281(2):247–254, 1988.

[PP01] Adam Parusiński and Piotr Pragacz. Characteristic classes of hypersurfaces and characteristic cycles. J. Algebraic Geom., 10(1):63–79, 2001.

[Sch] Joerg Schuermann. A generalized Verdier-type Riemann-Roch theorem for Chern-Schwartz-MacPherson classes, arXiv:math.AG/0202175.

[Vas98] Wolmer V. Vasconcelos. Computational methods in commutative algebra and algebraic geometry. Springer-Verlag, Berlin, 1998. With chapters by David Eisenbud, Daniel R. Grayson, Jürgen Herzog and Michael Stillman.

[Wal01] Uli Walther. Algorithmic determination of the rational cohomology of complex varieties via differential forms. In Symbolic computation: solving equations in algebra, geometry, and engineering (South Hadley, MA, 2000), pages 185–206. Amer. Math. Soc., Providence, RI, 2001.

[Yok99a] Shoji Yokura. On a Verdier-type Riemann-Roch for Chern-Schwartz-MacPherson class. Topology Appl., 94(1-3):315–327, 1999. Special issue in memory of B. J. Ball.

[Yok99b] Shoji Yokura. On characteristic classes of complete intersections. In Algebraic geometry: Hirzebruch 70 (Warsaw, 1998), pages 349–369. Amer. Math. Soc., Providence, RI, 1999.

Max-Planck-Institut für Mathematik, Bonn, Germany

Florida State University, Tallahassee, Florida