1 Introduction

In order to explain the motivation of this paper, let us start by recalling a classical theorem of Bertini. Let X be a smooth algebraic variety in a projective space \( {{\mathbb {P}}}^n \). Let \(H \subset {{\mathbb {P}}}^n \) be a hyperplane. Then, the theorem of Bertini says that the hyperplane section \( X \cap H \) is smooth, provided that H is general. That is, there exists a Zariski open subset U in the dual projective space \(( {\mathbb P}^n)^{\vee } \) s.t. for each \( \xi =[\xi _0, \xi _1, \dots , \xi _n] \in U \) the hyperplane section \( X \cap H_{\xi } \) is smooth, where \( H_{\xi } \) is the hyperplane \( \{ x=(x_0,x_1,\dots ,x_n) \in {\mathbb P}^n \mid \xi _0 x_0 + \xi _1 x_1 + \cdots +\xi _n x_n = 0 \} \) corresponding to \( \xi \).

Such general objects are ubiquitous, especially in algebraic geometry. There are many concepts, properties and invariants that involve general conditions. In this paper, we call such numerical invariant a Bertini type invariant. There are two major methods for computing Bertini invariants. The first method uses random numbers to generate general numbers and execute symbolic computation by presuming that they satisfy general conditions. The other method utilizes tools from numerical algebraic geometry, the software Bertini developed by Daniel J. Bates et al [6]. Both methods are widely used, however, they are not deterministic.

We address the case of a family of polynomial ideals depending on deformation parameters. We provide, by introducing auxiliary indeterminates to treat general conditions, a framework for computing Bertini type invariants in the context of symbolic computation and give a new deterministic method for computing parameter dependency of Bertini type invariants of parametric ideals. The key is the use of comprehensive Gröbner basis computation with coefficients in the fields of rational function of auxiliary indeterminates.

As an application of our approach we consider Chern–Schwartz–MacPherson classes, characteristic classes introduced independently by M. H. Schwartz [21, 22] and MacPherson [16] as a generalization of Chern classes for singular varieties. We present an algorithm for computing the Chern–Schwartz–MacPherson classes of a family of projective hypersurfaces depending on deformation parameters.

In Sect. 2, we consider Bertini type invariants of parametric ideals in polynomial rings. In order to handle general conditions, we introduce auxiliary indeterminates and we give some basics on comprehensive Gröbner systems over a field of rational functions of auxiliary indeterminates. Then we describe a deterministic method for computing the parameter dependency of Bertini type invariants of a family of parametric ideals.

In Sect. 3, we consider the Chern–Schwartz–MacPherson classes of singular projective varieties. In Sect. 3.1, we recall a formula of P. Aluffi [1, 2] on Chern–Schwartz–MacPherson classes and a key result of M. Helmer [11] for computing projective degrees. We show that, by using Gröbner basis over a field of rational functions of auxiliary indeterminates, the method of Helmer can be realized as a deterministic algorithm for computing Chern–Schwartz–MacPherson classes.

In Sect. 3.2, we address the case of a family of hypersurfaces depending on deformation parameters. Based on Algorithm 2 presented in Sect. 2 for computing the Bertini type invariants of parametric ideals, we present an algorithm for computing the parameter dependency of i-th projective degree of a family of hypersurfaces. Note that, to the best of our knowledge, no other existing algorithm can compute parameter dependency of Chern–Schwartz–MacPherson classes of a family of projective hypersurfaces. We give two typical examples for illustrating. We compute, as applications of our approach, the parameter dependency of the Chern–Schwartz–MacPherson classes of these two families.

2 New Framework

Let \( I_{\xi } \) be an ideal in the polynomial ring \( {\mathbb C}[x]={{\mathbb {C}}}[x_1,x_2,\dots , x_n] \) of n variables depending on \(\xi \), where \({{\mathbb {C}}}\) is the field of complex numbers and \( \xi \in {{\mathbb {P}}}^{\ell } \) (resp. \(\xi \in {{\mathbb {C}}}^{\ell }\)). Let \(\mu \) be a non-negative integer. We call \( \mu \) a Bertini type invariant of \( I_{\xi }\), if there exists a Zariski open subset \(U \subset {{\mathbb {P}}}^{\ell }\) (resp. \( U \subset {{\mathbb {C}}}^{\ell }\)) s.t.

$$\begin{aligned} \mu =\textrm{dim}_{{{\mathbb {C}}}}({{\mathbb {C}}}[x]/I_{\xi }), \quad \forall \xi \in U. \end{aligned}$$

If \(\xi \in {{\mathbb {P}}}^{\ell } \) satisfies \(\mu =\textrm{dim}_{{\mathbb C}}({{\mathbb {C}}}[x]/I_{\xi })\), then \(\xi \) is called general, or generic for \(I_{\xi }.\)

Let \( I(t)_{\xi } \) be a family of ideals, depending on deformation parameters \( t=(t_1,t_2,\dots ,t_{m}) \in {{\mathbb {C}}}^{m} \), in the polynomial ring \( ({{\mathbb {C}}}[t])[x] \), where \( {\mathbb C}[t]={{\mathbb {C}}}[t_1,t_2,\dots ,t_m] \) is regarded as a coefficient ring. Let \( \mu _t\) be a non-negative integer depending on \( t \in {{\mathbb {C}}}^m. \) We call \(\mu _t\) a Bertini type invariant of \(I(t)_{\xi } \) if there exists a Zariski open subset \( U_t \subset {{\mathbb {P}}}^{\ell } \) (resp. \( U_t \subset {{\mathbb {C}}}^{\ell } \)) s.t.

$$\begin{aligned} \mu _t=\textrm{dim}_{{{\mathbb {C}}}}({{\mathbb {C}}}[x]/I(t)_{\xi }), \quad \forall \xi \in U_t, \ t \in {{\mathbb {C}}}^{m}. \end{aligned}$$

Our aim is to construct a deterministic method for computing a finite set of pairs

\( {{\mathcal {B}}}= \{ ({{\mathbb {B}}}_1, \mu _1), ({{\mathbb {B}}}_2, \mu _2), \ldots , ({{\mathbb {B}}}_q, \mu _q) \} \) s.t.

  1. (i)

    \( {{\mathbb {B}}}_i \subset {{\mathbb {C}}}^{m}, \ i=1,2,\dots , q\),

  2. (ii)

    \( {{\mathbb {B}}}_i \cap {{\mathbb {B}}}_j = \emptyset , i \ne j\),

  3. (iii)

    \( {{\mathbb {B}}}_1 \cup {{\mathbb {B}}}_2 \cup \cdots \cup {{\mathbb {B}}}_q = {{\mathbb {C}}}^{m}, \)

  4. (iv)

    \( \mu _i = \textrm{dim}_{{{\mathbb {C}}}}({{\mathbb {C}}}[x]/I(t)_{\xi }), \quad \forall \xi \in U_t, \ t \in {{\mathbb {B}}}_i. \)

In this section, we give a framework for computing the parameter dependency of the Bertini type invariants \( \mu _t\) \((t \in {{\mathbb {C}}}^{m})\) of a family of polynomial ideals \(I(t)_{\xi }\).

2.1 CGS Over a Field of Rational Functions

Here we briefly introduce comprehensive Gröbner systems (CGS) over a field of rational functions. Throughout this paper, we fix the following notations. Let \(\mathbb {N}\) be the set of natural numbers with zero and K a field.

Let \(t=\{t_1,\ldots ,t_m\}\) such that \(x \cap t \ne \emptyset \) and K[t][x] the polynomial ring with coefficients in the polynomial ring K[t]. Let \(u=\{u_1,\ldots ,u_s\}\) such that \(u \cap (x\cup t)\ne \emptyset \) and (K(u)[t])[x] the polynomial ring with coefficient in K(u)[t], the polynomial ring in t over the field K(u) of rational functions. In what follows we regard x as main variables, t as parameters and u as auxiliary indeterminates.

Let R be a polynomial ring with the main variable x, and let us fix a term ordering \(\succ \) on x. For a given \(f \in R\), we write the head term of f as \({{\,\textrm{ht}\,}}(f)\), the head coefficient of f as \({{\,\textrm{hc}\,}}(f)\) and the head monomial of f as \({{\,\textrm{hm}\,}}(f)\) (i.e. \({{\,\textrm{hm}\,}}(f)={{\,\textrm{hc}\,}}(f){{\,\textrm{ht}\,}}(f)\)). For a subset \(G \subset R\), \({{\,\textrm{ht}\,}}(G)=\{{{\,\textrm{ht}\,}}(g) | g \in G\}\) and \({{\,\textrm{hm}\,}}(G)=\{{{\,\textrm{hm}\,}}(g) | g \in G\}\). We let \(\langle f_1,\ldots ,f_k\rangle \) denote the ideal generated by \(f_1,\ldots ,f_k\) in R.

Let \(\overline{K(u)}\) be an algebraic closure of the field K(u) of rational functions. For an arbitrary \(\bar{t} \in \left( \overline{K(u)}\right) ^m\), the specialization homomorphism \(\sigma _{\bar{t}}: (K(u)[t])[x] \longrightarrow \overline{K(u)}[x]\) is defined as the map that substitutes \(\bar{t}\) into m variables t. For \(F \subset (K(u)[t])[x]\), \(\sigma _{\bar{t}}(F)=\{\sigma _{\bar{t}}(f)|f\in F \}\subset \overline{K(u)}[x]\).

For \(\eta _1,\ldots , \eta _\nu \in K(u)[t]\),

$$\begin{aligned} \mathbb {V}_{\overline{K(u)}}(\eta _1,\ldots , \eta _\nu )=\left\{ \bar{t} \in \left( \overline{K(u)}\right) ^m |\; \eta _1(\bar{t})=\cdots =\eta _\nu (\bar{t})=0\right\} . \end{aligned}$$

We call an algebraic constructible set of a form \(\mathbb {V}_{\overline{K(u)}}(\eta _1,\ldots , \eta _\nu )\backslash \mathbb {V}_{\overline{K(u)}}(\eta '_1,\ldots , \eta '_{\nu '})\), a stratum where \(\eta '_1,\ldots , \eta '_{\nu '} \in K(u)[t]\). Notations \(\mathbb {A}_1,\mathbb {A}_2, \ldots , \mathbb {A}_r,{{\mathbb {B}}}_1, {{\mathbb {B}}}_2, \ldots , {{\mathbb {B}}}_q\) are frequently used to represent strata.

Let M be a set of monomials in K[x]. Then, the minimal basis of the monomial ideal \(\langle M \rangle \) is written as \({ MB}(M)\).

Definition 2.1

Fix a term ordering \(\succ \) on x. Let \(F \subset (K(u)[t])[x]\), \(\mathbb {A}_1,\ldots , \mathbb {A}_r \subset \left( \overline{K(u)}\right) ^m\), \(G_1,\ldots , G_r \subset (K(u)[t])[x]\). If a finite set \({\mathcal G}=\{(\mathbb {A}_1,G_1),\ldots ,(\mathbb {A}_r,G_r)\}\) of pairs satisfies the properties such that

  • for \(i\ne j\), \(\mathbb {A}_i \cap \mathbb {A}_j=\emptyset \), and

  • for all \(\bar{t} \in \mathbb {A}_i\) and \(g \in G_i\), \({{\,\textrm{ht}\,}}(g)={{\,\textrm{ht}\,}}(\sigma _{\bar{t}}(g))\) and \(\sigma _{\bar{t}}(G_i)\) is a Gröbner basis of \(\langle \sigma _{\bar{t}}(F) \rangle \) in \(\overline{K(u)}[x]\),

then, \({{\mathcal {G}}}\) is called a comprehensive Gröbner system (CGS) of \(\langle F \rangle \) over \(\overline{K(u)}\) on \(\mathbb {A}_1\cup \cdots \cup \mathbb {A}_r\). We call a pair \((\mathbb {A}_i, G_i)\) segment of \({{\mathcal {G}}}\). We simply say that \({{\mathcal {G}}}\) is a comprehensive Gröbner system of \(\langle F \rangle \) over \(\overline{K(u)}\) if \(\mathbb {A}_1\cup \cdots \cup \mathbb {A}_r=\left( \overline{K(u)}\right) ^m.\)

Let F be a subset of (K(u)[t])[x]. By regarding t as the main variable, it is possible to compute a Gröbner basis G of \(\langle F \rangle \) w.r.t. a block term ordering s.t. \(x \gg t\) in K(u)[tx]. Then, G can be also regarded as a subset of (K(u)[t])[x]. This consideration is utilized in the following theorem.

For \(\eta \in (K[u])[t]\), the squarefree polynomial of \(\eta \) is written as \(\sqrt{\eta }\).

Theorem 2.2

Let \(\succ _x\) be a term ordering on x, \(\succ _t\) a term ordering on t and \((\succ _x, \succ _t)\) the block term ordering on \(x \cup t\) with \(x \gg t\). Let F be a finite set of polynomials in (K(u)[t])[x] and E a finite set of polynomials in K(u)[t]. Consider \(\langle F \cup E \rangle \) to be an ideal in K(u)[tx] and let G be the reduced Gröbner basis of \(\langle F \cup E \rangle \) w.r.t. \((\succ _x, \succ _t)\) in K(u)[tx], \(G'=G\backslash (G\cap \langle E \rangle )\) and \({ MB}({{\,\textrm{ht}\,}}(G'))=\{m_1,\ldots ,m_r\}\). For each \(i \in \{1,\ldots ,r\}\), let \(G_{m_i}=\{g \in G |{{\,\textrm{ht}\,}}(g)=m_i\}\) and \(D=\{g_1,\ldots , g_r\}\) where \(g_i \in G_{m_i}\) \((1\le i \le r)\).

Then, for all \(\bar{t} \in \mathbb {V}_{\overline{K(u)}}(E)\backslash \mathbb {V}_{\overline{K(u)}}\Bigl (\sqrt{\prod _{j=1}^r {{\,\textrm{hc}\,}}(g_j)}\Bigr )\), \(\sigma _{\bar{t}}(D)\) is a minimal Gröbner basis of \(\langle \sigma _{\bar{t}}(F)\rangle \) in \(\overline{K(u)}[x]\).

The above theorem is essentially the same as the result of Kapur-Sun-Wang [14] that discusses the stability of a Gröbner basis over \(\overline{K}\), thus we omit the proof.

We remark that since the purpose of this paper is to provide an algorithm for for computing parametric dependency for the Bertini type invariants of a family of polynomial ideals, we do not need the “minimal” Gröbner bases. Thus, we can also apply the result of Nabeshima [17] whose stratum is bigger than that of Theorem 2.2, to compute the invariants. Here we adopt the result of Kapur-Sun-Wang [14] because we can use Lemma 2.5.

By utilizing Theorem 2.2, we can construct an algorithm for computing CGS over \(\overline{K(u)}\). The algorithm is essentially the same as the result of the algorithm presented in [14]. The algorithm have been implemented in the computer algebra system Risa/Asir [19].

Example 1

Let \(F=\{3x^2+2txy, tx^2+3uy^2\} \subset (\mathbb {C}(u)[t])[x,y]\) where xy are variables, t is a parameter and \(\mathbb {C}(u)\) is a field of rational functions. Let \(\succ \) be the graded lexicographic term ordering with (xy). Then, our implementation outputs \({\mathcal G}\) as a comprehensive Gröbner system of \(\langle F \rangle \) over \(\overline{\mathbb {C}(u)}\) as follows

\({{\mathcal {G}}}=\Bigg \{(\overline{\mathbb {C}(u)}\backslash \mathbb {V}_{\overline{\mathbb {C}(u)}}(t(3u+t^3)), \{t^2xy-3uy^2,x^2+txy,(3u+t^3)y^3\}),\)

       \((\mathbb {V}_{\overline{\mathbb {C}(u)}}(t), \{x^2, y^2\}), \ (\mathbb {V}_{\overline{\mathbb {C}(u)}}(3u+t^3),\{xy+ty^2,x^2-t^2y^2\} )\Bigg \}\).

The output above means the following:

  • If the parameter t belongs to \(\overline{\mathbb {C}(u)}\backslash \mathbb {V}_{\overline{\mathbb {C}(u)}}(t(3u+t^3))\), then \(\{t^2xy-3uy^2,x^2+txy,(3u+t^3)y^3\}\) is a Gröbner basis of \(\langle F \rangle \) w.r.t. \(\succ \).

  • If the parameter t belongs to \(\mathbb {V}_{\overline{\mathbb {C}(u)}}(t)\), then \(\{x^2, y^2\}\) is a Gröbner basis of \(\langle F \rangle \) w.r.t. \(\succ \).

  • If the parameter t belongs to \(\mathbb {V}_{\overline{\mathbb {C}(u)}}(3u+t^3)\), then \(\{xy+ty^2,x^2-t^2y^2\}\) is a Gröbner basis of \(\langle F \rangle \) w.r.t. \(\succ \).

The example above suggests that a direct use of CGS over \(\overline{K(u)}\) is not appropriate for computing the parameter dependency of Bertini type invariants of parametric ideals, because the outputs may have many extraneous, or irrelevant segments.

2.2 CGS for Bertini

We introduce an algorithm for computing parameter dependency of the Bertini type invariants of a family of polynomial ideals \(I(t)_{\xi } \subset ({{\mathbb {C}}}[t])[x]\) where \( t=(t_1,t_2,\dots ,t_m) \) are genuine parameters. The difficulty of computing the parameter dependency comes from the generality involving parameters because, for all \(\bar{t} \in \mathbb {C}^m\), we need a general element \(\xi \in {{\mathbb {P}}}^{\ell }\) (or \( \xi \in {{\mathbb {C}}}^{\ell } \)) for \(I(\bar{t})_{\xi }\).

In this section, we show that Bertini type invariants are computable without obtaining the general element \(\xi \). The key is the use of Gröbner basis computation over a field of rational functions of auxiliary indeterminates. We adapt the same approach by introducing auxiliary indeterminates u by setting \(u=\xi .\) However, for the present case of a family of polynomial ideals \(I(t)_{\xi }\), the parameter space of the comprehensive Gröbner system is \(\overline{\mathbb {C}(u)}^m\), not \(\mathbb {C}^m\). Hence, as the genuine parameter spaces are subsets of \(\mathbb {C}^m\), for each segment \((\mathbb {A},G)\) of the comprehensive Gröbner system we need to check whether \(\mathbb {A}\cap \mathbb {C}^m =\emptyset \) or not, since, a pair \((\mathbb {A},G)\) that satisfies \(\mathbb {A}\cap \mathbb {C}^m=\emptyset \) is irrelevant to Bertini type invariants, and is redundant. Moreover, even if \(\mathbb {A}\cap \mathbb {C}^m\ne \emptyset \), since \(\mathbb {A}\) is represented by polynomials in \(\mathbb {C}(u)[t]\), we need a method to understand the condition of the parameters t.

Here, first we discuss how to represent \(\mathbb {A}\cap \mathbb {C}^m\) by polynomials in \(\mathbb {C}[t]\). Second, we describe how to delete the stratum \(\mathbb {A}\) that satisfies \(\mathbb {A}\cap \mathbb {C}^m=\emptyset \).

For \( \varrho \in \mathbb {C}(u)[t]\), we define \({{\,\textrm{dlcm}\,}}(\varrho )\) as the least common multiple of all denominators of coefficients in \(\mathbb {C}(u)\) of \(\varrho \). For instance, for \(\varrho =t_1^2t_2+\frac{1}{u_1^2}t_1t_2+\frac{4}{u_2}t_2\) in \(\mathbb {C}(u_1,u_2)[t_1,t_2]\), \({{\,\textrm{dlcm}\,}}(\varrho )=u_1^2u_2\). Hence, \({{\,\textrm{dlcm}\,}}(\varrho )\cdot \varrho =u_1^2u_2t_1^2t_2+u_2t_1t_2+4u_1^2t_2\) in \(\mathbb {C}[u_1,u_2][t_1,t_2]\).

Let

$$\begin{aligned} \eta =c_{\alpha _1}u^{\alpha _1}+c_{\alpha _2}u^{\alpha _2}+\cdots +c_{\alpha _\nu }u^{\alpha _\nu } \end{aligned}$$

in \(\mathbb {C}[u][x]\) where for \(i \in \{1,2,\ldots ,k\}\), \(\alpha _i=(\alpha _{i1},\alpha _{i2},\ldots , \alpha _{i\ell }) \in \mathbb {N}^\ell \), \(u^{\alpha _i}=u_1^{\alpha _{i1}}u_2^{\alpha _{i2}}\cdots u_\ell ^{\alpha _{i\ell }}\) and \(c_{\alpha _1}, c_{\alpha _2},\) \(\ldots , c_{\alpha _r} \in \mathbb {C}[t]\). Then, we define \({{\,\textrm{Coef}\,}}_t(\eta )=\{c_{\alpha _1}, c_{\alpha _2},\ldots , c_{\alpha _\nu }\}\subset \mathbb {C}[t]\).

Proposition 2.3

Let E be a finite subset of \(\mathbb {C}(u)[t]\). Let \(D=\{{{\,\textrm{dlcm}\,}}(\varrho )\varrho | \varrho \in E\}\) and \(\displaystyle T=\bigcup _{\eta \in D}{{\,\textrm{Coef}\,}}_t(\eta )\). Then, \(\mathbb {V}_{\overline{\mathbb {C}(u)}}(E)\cap \mathbb {C}^m=\mathbb {V}_{\mathbb {C}}(T)\).

Proof

It is clear that \(\mathbb {V}_{\overline{\mathbb {C}(u)}}(E)\cap \mathbb {C}^m \supset \mathbb {V}_{\mathbb {C}}(T)\). Assume that \(\mathbb {V}_{\overline{\mathbb {C}(u)}}(E)\cap \mathbb {C}^m \supsetneq \mathbb {V}_{\mathbb {C}}(T)\), then there exists \(b \in \mathbb {V}_{\overline{\mathbb {C}(u)}}(E)\cap \mathbb {C}^m\) such that \(b \notin \mathbb {V}_{\mathbb {C}}(T)\), i.e., there exists \(p \in T\) such that \(p(b)\ne 0\). Since p is a coefficient of some \(\eta \in D\), thus \( \eta \) has a form \(\eta =\sum _{\alpha } c_{\alpha }u^\alpha +pu^{\alpha _p}\) and \(\eta (b)=\sum _{\alpha } c_{\alpha }(b)u^\alpha +p(b)u^{\alpha _p}\) where \(c_{\alpha } \in \mathbb {C}[t]\). As \(u^\alpha \)s and \(u^{\alpha _p}\) are linearly independent and \(p(b)u^{\alpha _p}\ne 0\), hence, \(\eta (b)\ne 0\). However, since \(b \in \mathbb {V}_{\overline{\mathbb {C}(u)}}(E)\cap \mathbb {C}^m\), we have \(\eta (b)=0\). This is a contradiction. Therefore, \(\mathbb {V}_{\overline{\mathbb {C}(u)}}(E)\cap \mathbb {C}^m=\mathbb {V}_{\mathbb {C}}(T)\). \(\square \)

Example 2

Let \(E_1=\{t_1^2t_2u_1^2+(t_2+1)u_1\}\), \(E_2=\{(t_1+1)u_1u_2^2+u_2^2+t_1t_2u_1, (t_1+1)u_1+t_2u_2\}\) be subsets of \(\mathbb {C}(u_1,u_2)[t_1,t_2]\). Then, we have

  • \(\mathbb {V}_{\overline{\mathbb {C}(u_1,u_2)}}(E_1)\cap \mathbb {C}^2=\mathbb {V}_{\mathbb {C}}(t_1^2t_2,t_2+1)\),

  • \(\mathbb {V}_{\overline{\mathbb {C}(u_1,u_2)}}(E_2)\cap \mathbb {C}^2=\mathbb {V}_{\mathbb {C}}(t_1+1,1, t_1t_2, t_1+1, t_2)=\mathbb {V}_{\mathbb {C}}(1)=\emptyset .\)

Lemma 2.4

Let \(E, E', E''\) be ideals in K(u)[t] and \(\mathbb {A}=\mathbb {V}_{\overline{\mathbb {C}(u)}}(E)\backslash \mathbb {V}_{\overline{\mathbb {C}(u)}}(E^{\prime }) \subset \overline{\mathbb {C}(u)}^m\) a stratum. Assume that \(E'' \subset E \) and \( \mathbb {V}_{\overline{\mathbb {C}(u)}}(E'') \cap \mathbb {C}^m=\emptyset . \) Then, \( \mathbb {A}=\emptyset \) holds.

The above lemma tells us that, if \( \mathbb {V}_{\overline{\mathbb {C}(u)}}(E'') \cap \mathbb {C}^m = \emptyset \) is detected during the computation of Bertini type invariants, one can stop the computation on the stratum \(\mathbb {V}_{\overline{\mathbb {C}(u)}}(E'') \) and discard the segment of the comprehensive Gröbner system.

For \(E, E^{\prime } \subset \mathbb {C}(u)[t]\), we can obtain \(T,T^{\prime } \subset \mathbb {C}[t]\) such that \(\mathbb {V}_{\overline{\mathbb {C}(u)}}(E)\cap \mathbb {C}^m=\mathbb {V}_{\mathbb {C}}(T)\) and \(\mathbb {V}_{\overline{\mathbb {C}(u)}}(E^{\prime })\cap \mathbb {C}^m=\mathbb {V}_{\mathbb {C}}(T^{\prime })\), i.e.

$$\begin{aligned} \left( \mathbb {V}_{\overline{\mathbb {C}(u)}}(E)\backslash \mathbb {V}_{\overline{\mathbb {C}(u)}}(E^{\prime })\right) \cap \mathbb {C}^m=\mathbb {V}_{\mathbb {C}}(T)\backslash \mathbb {V}_{\mathbb {C}}(T^{\prime }). \end{aligned}$$

It is possible to check whether \(\mathbb {V}_{\mathbb {C}}(T)\backslash \mathbb {V}_{\mathbb {C}}(T^{\prime }) \ne \emptyset \) or not by using the algorithm that is presented in [25]. However, the algorithm is expensive. The following lemma provides a nice algorithm of checking consistency of parametric constraints.

Lemma 2.5

Let E be an ideal in \(\mathbb {C}[t]\) and \(\zeta \) a polynomial in \(\mathbb {C}[u][t]\). Then, \(\mathbb {V}_{\overline{\mathbb {C}(u)}}(E)\cap \mathbb {C}^m=\mathbb {V}_{\mathbb {C}}(E),\) and, \(\zeta \in rad(E)\) in \(\mathbb {C}[u][t]\) if and only if \(\mathbb {V}_{\overline{\mathbb {C}(u)}}(E)\backslash \mathbb {V}_{\overline{\mathbb {C}(u)}}(\zeta )=\emptyset \) where rad(E) is the radical ideal of E in \(\mathbb {C}[t]\).

Proof

The first argument is obvious.

(\(\Rightarrow \)) Since \(\zeta \in rad(E)\) implies \(\mathbb {V}_{\overline{\mathbb {C}(u)}}(\zeta ) \supset \mathbb {V}_{\overline{\mathbb {C}(u)}}(E)\), thus \(\mathbb {V}_{\overline{\mathbb {C}(u)}}(E)\backslash \mathbb {V}_{\overline{\mathbb {C}(u)}}(\zeta )=\emptyset \).

(\(\Leftarrow \)) If \(\mathbb {V}_{\overline{\mathbb {C}(u)}}(E)\backslash \mathbb {V}_{\overline{\mathbb {C}(u)}}(\zeta )=\emptyset \), then \(\mathbb {V}_{\overline{\mathbb {C}(u)}}(E)\subset \mathbb {V}_{\overline{\mathbb {C}(u)}}(\zeta )\). Thus, \(\zeta \in rad(E)\). \(\square \)

Now, we apply a nice algorithm that is presented in [14], for checking whether \(\zeta \in rad(E)\) or not, and the algorithm is much more efficient than the algorithm for checking whether \(\mathbb {V}_{\mathbb {C}}(T)\backslash \mathbb {V}_{\mathbb {C}}(T^{\prime })\) \(\ne \emptyset \) or not. We adopt the setting of Lemma 2.5 in Algorithm 1.

The following algorithm CGSB is the key ingredient for computing Bertini type invariants of parametric ideals.

figure a

Note that, by Lemma 2.5,

\(\left( \mathbb {V}_{\overline{\mathbb {C}(u)}}(E)\backslash \mathbb {V}_{\overline{\mathbb {C}(u)}}(\zeta \cdot \eta )\right) \cap \mathbb {C}^m = \emptyset \) if and only if \(\mathbb {V}_{\overline{\mathbb {C}(u)}}(E)\backslash \mathbb {V}_{\overline{\mathbb {C}(u)}}(\zeta \cdot \eta )= \emptyset \).

Thus, at \((*)\) of the algorithm, any redundant stratum in \(\overline{\mathbb {C}(u)}^m\) is deleted. Moreover, E and \({{\,\textrm{Coef}\,}}_t(\zeta \cdot \eta )\) are subsets of \(\mathbb {C}[t]\). Therefore, for all \((\mathbb {A}', G')\) in the output \({{\mathcal {G}}}'\), we have \(\mathbb {A}'\cap \mathbb {C}^m\ne \emptyset \) and \(\mathbb {A}'\) is represented by polynomials in \(\mathbb {C}[t]\).

Algorithm 1 is based on an algorithm for computing a CGS over \(\mathbb {C}(u)\) and Proposition 2.3, thus the termination and correctness follow from them.

Example 3

Let us consider Example 1, again. Since \(\mathbb {V}_{\overline{\mathbb {C}(u)}}(t(3u+t^3)) \cap \mathbb {C}=\mathbb {V}_{\mathbb {C}}(t)\) and \(\mathbb {V}_{\overline{\mathbb {C}(u)}}(3u+t^3)\cap \mathbb {C}=\emptyset \), a comprehensive Gröbner system \({{\mathcal {G}}}'\) of \(\langle F \rangle \) for Bertini is given as follows

\({{\mathcal {G}}}'=\{(\mathbb {C}\backslash \mathbb {V}_{\mathbb {C}}(t), \{t^2xy-3uy^2,x^2+txy,(3u+t^3)y^3\}), (\mathbb {V}_{\mathbb {C}}(t), \{x^2, y^2\})\}\).

By utilizing Algorithm 1, we can construct a deterministic method for computing Bertini type invariants of parametric ideals.

figure b

Algorithm 2 have been implemented in the computer algebra system Risa/Asir [19].

3 Chern–Schwartz–MacPherson Class

In [21, 22], M.-H. Schwartz generalized the classical theory of Chern classes to singular varieties in cohomology by means of deep geometric insight on singularities [23]. Later in [16], R. D. MacPherson proved the existence of Chern classes for singular varieties in homology by using the language of derived category in a functorial way. In [7], J. P. Brasselet and M.-H. Schwartz proved the equivalence under Alexsander duality of these two concepts. The characteristic class introduced by Schwartz and MacPherson is nowadays called the Chern–Schwartz–MacPherson class. The Chern–Schwartz–MacPherson class is regarded as one of the most important characteristic class of a singular variety [2, 20]. We refer the reader to [9, 15, 24] for the concept of Chern–Schwartz–MacPherson classes. See also [3] and a more recent survey article [8]. We refer to [4, 5, 12] for applications of Chern–Schwartz–MacPherson classes.

In this section, we consider the Chern–Schwartz–MacPherson classes in the framework proposed in the previous section. We give a deterministic algorithm for computing them.

3.1 Aluffi’s Formula and Helmer’s Method

In this subsection, we recall a formula due to P. Aluffi and a method of M. Helmer, which constitute a basis to design an algorithm for computing Chern–Schwartz–MacPherson classes.

Let \( \phi : {{\mathbb {P}}}^n \longrightarrow {{\mathbb {P}}}^n \) be a rational map. Let \( g_i=\textrm{card}(\phi ^{-1}({{\mathbb {P}}}^{n-i}) \cap {{\mathbb {P}}}^i), \) where \( {{\mathbb {P}}}^{n-i} \) and \( {{\mathbb {P}}}^i\) are general planes of dimension \( n-i \) and i respectively. Then, \( g=(g_0, g_1, g_2,\dots ,g_n) \) are called the projective degrees of the map \(\phi \) (see [10]).

Let \( V=\{z\in {{\mathbb {P}}}^n| f(z)=0\}\) be a hypersurface of \( {{\mathbb {P}}}^n, \) where f is a defining form of V in \(K[z_0,z_1,\ldots ,z_n]\). Let \( C_{SM}(V) \) denote the Chern–Schwartz–MacPherson class of V in the Chow ring \( \textrm{A}_{*}({{\mathbb {P}}}^n) \) of the projective space \({\mathbb P}^{n}. \)

Let us start by recalling a formula of P. Aluffi [1].

Theorem 3.1

(P. Aluffi) Let \( g=(g_0, g_1, \dots , g_n) \) be the projective degrees of the polar map (or the Gauss map) \( \phi : {{\mathbb {P}}}^n \longrightarrow {{\mathbb {P}}}^n\) defined to be

$$\begin{aligned} \phi : p \mapsto \left[ \frac{\partial f}{\partial z_0}(p), \frac{\partial f}{\partial z_1}(p), \ldots , \frac{\partial f}{\partial z_n}(p)\right] . \end{aligned}$$

Then,

$$\begin{aligned} C_{SM}(V)=(1+h)^{n+1}-\sum _{j=0}^{n}g_j (-h)^j(1+h)^{n-j} \in \textrm{A}_{*}({{\mathbb {P}}}^n)={{\mathbb {Z}}}[h]/(h^{n+1}) \end{aligned}$$

holds, where h is the class of a hyperplane defined by a general linear form and \( \textrm{A}_{*}({{\mathbb {P}}}^n) \) is the Chow ring of the projective space \( {{\mathbb {P}}}^n. \)

Note that \(g_0=1\) holds.

The next result is due to M. Helmer [11].

Theorem 3.2

(M. Helmer) Let \( V=\{z\in {{\mathbb {P}}}^n| f(z)=0\}\) be a hypersurface, where f is a defining form of V. Let

$$\begin{aligned} S = 1-s\sum _{j=0}^{n}c_j\frac{\partial f}{\partial z_j}, \ \ L_A = 1-\sum _{j=0}^{n}r_j z_j, \ \ P_{k} = \sum _{j=0}^{n}a_{k,j}\frac{\partial f}{\partial z_j}, \ \ L_{k} = \sum _{j=0}^{n}b_{k, j}z_j \end{aligned}$$

where \(k=0,1,2,\dots ,n-1.\)

Assume that all the coefficients \( a_{k, j}, b_{k, j}, c_j, r_j \ (j, k=0,1,\ldots , n-1\)) are general. Then the projective degrees \( g=(g_0, g_1, g_2,\dots ,g_n) \) of the polar map defined in the above theorem are given by

$$\begin{aligned} g_i=\textrm{dim}_K(K[z_0,z_1,\dots ,z_n,s]/\langle P_0, P_1, \cdots , P_{i-1}, L_0,L_1, \cdots , L_{n-i-1}, L_A, S\rangle ). \end{aligned}$$

M. Helmer utilized random numbers to generate general scalars and tools from numerical algebraic geometry for computing projective degrees and he obtained probabilistic algorithms for computing Chern–Schwartz–MacPherson classes [4]. See also [13] for another implementation.

Now, we regard \( a_{j, k}, b_{j, k}, c_j, r_j \) as indeterminates and consider a Gröbner basis of the relevant ideal in the polynomial ring with coefficients in the fields of rational functions of these indeterminates. We have the following.

Proposition 3.3

Let \( f \in K[z_0,z_1,\dots ,z_n] \) be a defining form of the hypersurface \( V=\{z\in {{\mathbb {P}}}^n| f(z)=0\}\), \(i \in \{1,2,\ldots ,n\}\) and \(J_i=\{0,1,\ldots ,i-1, n\}\). Let

\(\displaystyle P_{k}=\frac{\partial f}{\partial z_k} +\sum _{j=i}^{n}a_{k, j}\frac{\partial f}{\partial z_j}, \ \ k=0,1, \dots , i-1, \)

\(\displaystyle L_{\ell }=z_k+\sum _{j\in J_i}b_{\ell , j}z_j, \ \ \ell =i,i+1,\dots , n-1, \)

and

$$\begin{aligned}&S=1-s\sum _{j=i}^{n}c_j\frac{\partial f}{\partial z_j}, \ \ \ L_A=1-\sum _{j\in J_i}^{n}r_j z_j. \end{aligned}$$

Let u be the set of indeterminates \( \{a_{k,j} \mid 0 \le k \le i-1, \ i \le j \le n \} \cup \{ b_{\ell ,j} \mid i \le \ell \le n-1, \ j \in J_i\} \cup \{ c_j |i \le j \le n\} \cup \{r_j \mid j \in J_i \}. \)

Let \( G_i \) be a Gröbner basis of the ideal generated by \( P_0, P_1, \dots , P_{i-1}, L_i, L_{i+1}, \dots , L_{n-1}, L_A,\) S in the ring \(K(u)[z_0,z_1,\dots ,z_n,s]\), Then,

$$\begin{aligned} g_i=\textrm{dim}_{K(u)}(K(u)[z_0,z_1,\dots ,z_n,s]/\langle G_i \rangle ) \end{aligned}$$

holds.

Proof

Since the projective degrees \( g_i \) are Bertini type invariants, there exists an Zariski open subset U s.t.

$$\begin{aligned} g_i=\textrm{dim}_K(K[z_0,z_1,\dots ,z_n,s]/\langle P_0,P_1,\dots ,P_{i-1}, L_i,L_{i+1}, \dots ,L_{n-1}, L_A, S \rangle ) \end{aligned}$$

holds for all \( (a_{0,i},\ldots ,a_{i-1,n}, b_{i,0},\ldots ,b_{n-1,i-1}, b_{n-1,n}c_i,\ldots ,c_n,r_{0},\ldots ,r_{i-1},r_n) \in U\). Accordingly, we have the following

$$\begin{aligned} g_i=\textrm{dim}_{K(u)}(K(u)[z_0,z_1,\dots ,z_n,s]/\langle G_i \rangle ). \end{aligned}$$

\(\square \)

The above proposition says that the projective degrees of the polar map

$$\begin{aligned} \phi : p \mapsto \left[ \frac{\partial f}{\partial z_0}(p), \frac{\partial f}{\partial z_1}(p), \ldots , \frac{\partial f}{\partial z_n}(p)\right] \end{aligned}$$

can be computed by a Gröbner basis computation of an ideal in the ring \( K(u)[z_0,z_1,\dots ,z_n,s] \)

Accordingly, the theorem of Aluffi allow us to construct a deterministic method for computing Chern–Schwartz–MacPherson classes. We give examples for illustration.

Example 4

Let \( V=\{z\in {{\mathbb {P}}}^2| f(z)=0\} \) where \( f=z_0^4+z_0z_1^3+z_0z_2^3+z_1^3z_2+z_1z_2^3 \in K[z_0, z_1, z_2]\).

Set

\(\displaystyle P_0=\frac{\partial f}{\partial z_0} + a_{0,1}\frac{\partial f}{\partial z_1} + a_{0,2}\frac{\partial f}{\partial z_2} \), \( L_1=z_1+b_{0,0}z_0+b_{0,2}z_2, \)

\( L_A=1-(r_0z_0+r_2z_2) \),    \(\displaystyle S=1-s\left( c_1\frac{\partial f}{\partial z_1}+c_2\frac{\partial f}{\partial z_2}\right) , \)

where \( u=\{a_{0,1}, a_{0,2}, b_{0,0}, b_{0,2}, c_1, c_2, r_0, r_2 \} \) are auxiliary indeterminates.

By computing a Gröbner basis of the ideal \( I_1=\langle P_0, L_1, L_A, S \rangle \) in \( K(u)[z_0, z_1, z_2, s] \), we have

$$\begin{aligned} g_1=\textrm{dim}_{K(u)}(K(u)[z_0, z_1, z_2, s]/I_1)=3 \end{aligned}$$

Set

\(\displaystyle P_0=\frac{\partial f}{\partial z_0}+a_{0,2}\frac{\partial f}{\partial z_2} \), \(\displaystyle P_1=\frac{\partial f}{\partial z_1}+a_{1,2}\frac{\partial f}{\partial z_2} \)

\( L_A=1-(r_0z_0+r_1z_1+r_2z_2) \),    \(\displaystyle S=1-s\left( c_2\frac{\partial f}{\partial z_2}\right) , \)

where \( u=\{a_{0,2}, a_{1,2}, c_2, r_0, r_1, r_2 \} \) are auxiliary indeterminates.

By computing a Gröbner basis of the ideal \( I_2=\langle P_1, P_2, L_A, S \rangle \) in \( K(u)[z_0,z_1,z_2,s] \), we have

$$\begin{aligned} g_2=\textrm{dim}_{K(u)}(K(u)[z_0,z_1,z_2,s]/I_2)=6. \end{aligned}$$

Therefore, the projective degrees \( g =(g_0, g_1, g_2) \) are equal to (1, 3, 6). Accordingly, by the formula of Aluffi, we obtain

$$\begin{aligned} C_{SM}(V)=(1+h)^3-(1+h)^2-3(-h)(1+h)-6(-h)^2=-h^2+4h. \end{aligned}$$

Example 5

Let \( V=\{z \in {{\mathbb {P}}}^3| f(z)=0\}\), where \(f=4z_1z_2z_3-z_0^2z_1 \in K[z_0,z_1,z_2,z_3]\). Then, by computing the Gröbner bases over a field of rational functions of auxiliary indeterminates, we obtain \( g=(1,2,2,1) \) as the projective degrees \( g=(g_0, g_1,g_2,g_3) \) of the polar map

$$\begin{aligned} \phi : p \mapsto \left[ \frac{\partial f}{\partial z_0}(p), \frac{\partial f}{\partial z_1}(p), \frac{\partial f}{\partial z_2}(p), \frac{\partial f}{\partial z_3}(p)\right] . \end{aligned}$$

Therefore, we have

$$\begin{aligned} C_{SM}(V)=(1+h)^4-\sum _{i=0}^{3}g_i(-h)^i(1+h)^{3-i} = 4h^3+5h^2+3h. \end{aligned}$$

Note that since the above method utilizes the Gröbner basis computation over a field of rational functions of auxiliary indeterminates, the algorithm outputs the projective degrees of a polar map without computing the relevant Zariski open subset U.

In order to compute the Zariski open subset U in an explicit manner, we can use a comprehensive Gröbner system computation for a relevant ideal in the ring \(K(u)[z_0, z_1,\ldots , z_n, s] \) by regarding u as parameters as follows.

Let \( {{\mathcal {G}}} = \{ ({{\mathbb {A}}}_1, G_1), ({{\mathbb {A}}}_2, G_2), \ldots , ({{\mathbb {A}}}_r, G_r) \} \) be the comprehensive Gröbner system. Let \( {{\mathbb {A}}} \in \{ {{\mathbb {A}}}_1, {{\mathbb {A}}}_2, \ldots ,, {{\mathbb {A}}}_r \} \) be a Zariski open subset. Let \( g=\dim _{{\mathbb {C}}}(\mathbb {C}[z_0, z_1,\ldots , z_n, s]/\langle \sigma _{u}(G)\rangle ), u \in {{\mathbb {A}}}\), where G is a corresponding Gröbner basis, i.e, \( ({{\mathbb {A}}}, G) \in {\mathcal G}. \) Then, g is a projective degree. Let \( I =\{ j \mid \dim _{{\mathbb {C}}}(\mathbb {C}[z_0, z_1,\ldots , z_n, s]/\langle \sigma _{u}(G_j)\rangle ) =g \}. \) Then, \(\displaystyle \bigcup _{i\in I } {{\mathbb {A}}_i} \) gives rise the Zariski open subset U. However, the cost of computation is, in general, quite high.

Notice that, since a comprehensive Gröbner system computes every possibilities, the output consists of many segments. In contrast, Gröbner basis computation over a field of rational functions of auxiliary indeterminates outputs only one segment. Therefore, in order to compute a Bertini type invariant, the use of Gröbner basis over a FIELD OF RATIONAL FUNCTIONS is highly recommended. See [18, 26, 27] for related subjects on the use of a field of rational functions of auxiliary indeterminates.

Remark 3.4

According to the inclusion–exclusion principle due to P. Aluffi [1, 2], Chern–Schwartz–MacPherson classes of higher codimensional projective variety can also be computed by using the method described in Proposition 3.3. See also [11] for details.

3.2 Parametric Cases

In this section, we show that, by utilizing the framework proposed in the previous section, the Helmer’s method can be also used for parametric cases. The resulting algorithm computes parameter dependency of the Chern–Schwartz–MacPherson classes in an effective manner.

Let \( V_t=\{z \in {{\mathbb {P}}}^{n}| f_t(z)=0\} \) be a family of hypersurfaces in \( {{\mathbb {P}}}^{n} \), where \( f_t(z)=f_t(z_0,z_1,\dots ,\) \(z_n) \in K[t][z_0,z_1,\ldots ,z_n]. \) Here \( t=(t_1, t_2,\dots ,t_m) \) are regarded as deformation parameters.

figure c

Since, Bertini computes parameter dependency of Bertini type invariants of a family of polynomial ideals depending on parameters, the above algorithm computes the parameter dependency of i-th projective degrees of \( V_t\).

We give examples for illustration.

Example 6

Let \( f_t=z_0z_2^2-z_1^3-tz_0z_1^2 \in K[t][z_0,z_1,z_2], \) where t is regarded as a parameter. Let \( V_t=\{z \in {{\mathbb {P}}}^{2}| f_t(z)=0\}\) be the family of hypersurfaces defined by \(f_t\). Note that the case \( t \ne 0\), \(V_t\) has a node singularity, and the case \(t=0\), \(V_0\) has a cusp singularity.

Algorithm 3 outputs the following as the projective degrees of the family \(V_t\).

    case \( t\ne 0: \ (g_0, g_1, g_2)=(1,2,3), \)

    case \( t=0: \ (g_0, g_1, g_2)=(1, 2, 2). \)

Therefore, we have

    case \( t\ne 0\): \(C_{SM}(V_t)=2h^2+3h, \)

    case \(t=0\): \(C_{SM}(V_0)=h^2+3h. \)

Example 7

Let \(f_t=z_0^3+z_1^3+z_2^3-3tz_0 z_1 z_2\), where t is a parameter Let \( V_t=\{z \in {{\mathbb {P}}}^{2}| f_t(z)=0\} \) be the family of hypersurfaces defined by \(f_t\). Algorithm 3 outputs the following as the projective degrees of the family \(V_t\).

    \( g_1=2, \)

    case \( t^3-1 \ne 0 \): \(g_2=4,\)

    case \( t^3-1=0\): \(g_2=1.\)

Therefore

    case \( t^3-1 \ne 0 \): \( (g_0, g_1, g_2)=(1,2,4),\)

    case \( t^3-1=0 \): \( (g_0, g_1, g_2)=(1,2,1).\)

The Chern–Schwartz–MacPherson classes are

    case \( t^3-1 \ne 0\): \( C_{SM}(V_t)=h^3+3h\),

    case \( t^3-1=0 \): \( C_{SM}(V_t)= h^3+3h^2+3h. \)