AStandardBasisFreeAlgorithmforComputing …moreno/Publications/A_Standard_Basis...with...

16
A Standard Basis Free Algorithm for Computing the Tangent Cones of a Space Curve Parisa Alvandi 1 , Marc Moreno Maza 1 , ´ Eric Schost 1 , and Paul Vrbik 2 1 Department of Computer Science, University of Western Ontario. 2 School of Mathematical and Physical Sciences, The University of Newcastle Australia. Abstract. We outline a method for computing the tangent cone of a space curve at any of its points. We rely on the theory of regular chains and Puiseux series expansions. Our approach is novel in that it explicitly constructs the tangent cone at arbitrary and possibly irrational points without using a standard basis. Keywords: Computational algebraic geometry, tangent cone, regular chain, Puiseux series. 1 Introduction Traditionally, standard bases, Gr¨obnerbases and cylindrical algebraicdecompo- sition are the fundamental tools of computational algebraic geometry. The com- puter algebra systems CoCoA, Macaulay 2, Magma, Reduce, Singular have well-developed packages for computing standard bases or Gr¨obner bases, on which they rely in order to provide powerful toolkits to algebraic geometers. Recent progress in the theory of regular chains has exhibited efficient algo- rithms for doing local analysis on algebraic sets. One of the algorithmic strengths of the theory of regular chains is its regularity test procedure. In algebraic terms, this procedure decides whether a hypersurface contains at least one irreducible component of the zero set of the saturated ideal of a regular chain. Broadly speaking, this procedure separates the zeros of a regular chain that belong to a given hypersurface from those which do not. This regularity test permits to extend an algorithm working over a field into an algorithm working over a direct product of fields. Or, to phrase it in another way, it allows one to extend an algorithm working at a point into an algorithm working at a group of points. Following that strategy, the authors of [8] have proposed an extension of Ful- ton’s algorithm for computing the intersection multiplicity of two plane curves at the origin. To be precise, this paper extends Fulton’s algorithm in two ways. First, thanks to the regularity test for regular chains, the construction is adapted such that it can work correctly at any point in the intersection of two plane curves, whether this point has rational coordinates or not. Secondly, an algo- rithmic criterion, see Theorem 1, is proposed for reducing intersection multiplic- ity computation in arbitrary dimension to the case of two plane curves. This

Transcript of AStandardBasisFreeAlgorithmforComputing …moreno/Publications/A_Standard_Basis...with...

Page 1: AStandardBasisFreeAlgorithmforComputing …moreno/Publications/A_Standard_Basis...with allcoefficientscα belongingto K.Eachsummandhcp (f; j) := P |α|=j cα(x− p)α is called the

A Standard Basis Free Algorithm for Computing

the Tangent Cones of a Space Curve

Parisa Alvandi1, Marc Moreno Maza1, Eric Schost1, and Paul Vrbik2

1 Department of Computer Science, University of Western Ontario.2 School of Mathematical and Physical Sciences, The University of Newcastle

Australia.

Abstract. We outline a method for computing the tangent cone of aspace curve at any of its points. We rely on the theory of regular chainsand Puiseux series expansions. Our approach is novel in that it explicitlyconstructs the tangent cone at arbitrary and possibly irrational pointswithout using a standard basis.

Keywords: Computational algebraic geometry, tangent cone, regularchain, Puiseux series.

1 Introduction

Traditionally, standard bases, Grobner bases and cylindrical algebraic decompo-sition are the fundamental tools of computational algebraic geometry. The com-puter algebra systems CoCoA, Macaulay 2, Magma, Reduce, Singular

have well-developed packages for computing standard bases or Grobner bases,on which they rely in order to provide powerful toolkits to algebraic geometers.

Recent progress in the theory of regular chains has exhibited efficient algo-rithms for doing local analysis on algebraic sets. One of the algorithmic strengthsof the theory of regular chains is its regularity test procedure. In algebraic terms,this procedure decides whether a hypersurface contains at least one irreduciblecomponent of the zero set of the saturated ideal of a regular chain. Broadlyspeaking, this procedure separates the zeros of a regular chain that belong toa given hypersurface from those which do not. This regularity test permits toextend an algorithm working over a field into an algorithm working over a directproduct of fields. Or, to phrase it in another way, it allows one to extend analgorithm working at a point into an algorithm working at a group of points.

Following that strategy, the authors of [8] have proposed an extension of Ful-ton’s algorithm for computing the intersection multiplicity of two plane curvesat the origin. To be precise, this paper extends Fulton’s algorithm in two ways.First, thanks to the regularity test for regular chains, the construction is adaptedsuch that it can work correctly at any point in the intersection of two planecurves, whether this point has rational coordinates or not. Secondly, an algo-rithmic criterion, see Theorem 1, is proposed for reducing intersection multiplic-ity computation in arbitrary dimension to the case of two plane curves. This

Page 2: AStandardBasisFreeAlgorithmforComputing …moreno/Publications/A_Standard_Basis...with allcoefficientscα belongingto K.Eachsummandhcp (f; j) := P |α|=j cα(x− p)α is called the

algorithmic criterion requires to compute the tangent cone TCp(C ) of a spacecurve C at one of its points p. In principle, this latter problem can be handledby means of standard basis (or Grobner basis) computation. Available imple-mentations (like those in Magma or Singular) require that the point p isuniquely determined by the values of its coordinates. However, when decom-posing a polynomial system, a point may be defined as one of the roots of aparticular sub-system (typically a regular chain h). Therefore, being able tocompute the tangent cones of C at all ts points defined by a given regular chainh, becomes a desirable operation it is desirable operation. Similarly, and as dis-cussed in [8], another desirable operation is the computation of the intersectionmultiplicity of a zero-dimensional algebraic set V at all its points defined by agiven regular chain h. This type of tangent cone computation is addressed inthe present paper.

Tangent cone computations can be approached at least in two ways. First,one can consider the formulation based on homogeneous components of leastdegree, see Definition 1. The original algorithm of Mora [9] follows this pointof view. Secondly, one can consider the more “intuitive” characterization basedon limits of secants, see Lemma 1. This second approach, that we follow in thispaper, requires to compute limits of algebraic functions. For this task, we takeadvantage of [2] where the authors show how to compute the limit points of thequasi-component of a regular chain. This type of calculation can be used forcomputing the Zariski closure of a constructible set. In the present paper, it isused for computing tangent cones of space curves, thus providing an alternativeto the standard approaches based on Grobner bases and standard bases.

The contributions of the present paper are as follows

1. In Section 3, we present a proof of our algorithmic criterion for reducingintersection multiplicity computation in arbitrary dimension to the planecase; this criterion was stated with no justification in [8].

2. In Section 4.1, with Lemma 2, under a smoothness assumption, we establisha natural method for computing TCp(C ); as limit of intersection of tangentspaces.

3. In Section 4.2, we relax the assumption of Section 4.1 and exhibit an algo-rithm for computing TCp(C ).

This latter algorithm is implemented, in the AlgebraicGeometryTools subpack-age [1] of the RegularChains library which is available at www.regularchains.org.Section 4.4 offers examples. However, an issue withMaple’s algcurves[puiseux]command that we have no control over prohibits us from providing meaningfulexperimental results at this time. For those test cases which do not encountererror from the algcurves[puiseux] command we indeed calculate the correcttangent cone. We are currently re-implementing Maple’s algcurves[puiseux]command and we will provide experimental results in a future report.

Page 3: AStandardBasisFreeAlgorithmforComputing …moreno/Publications/A_Standard_Basis...with allcoefficientscα belongingto K.Eachsummandhcp (f; j) := P |α|=j cα(x− p)α is called the

2 Preliminaries

Throughout this article, we denote by K a field with algebraic closure K, and byAn+1(K) the (n + 1)-dimensional affine space over K, for some positive integern. Let x := x0, . . . , xn be n + 1 variables ordered as x0 ≻ · · · ≻ xn. We denoteby K[x] the corresponding polynomial ring. Let h ⊂ K[x] be a subset andh ∈ K[x] be a polynomial. We say that h is regular modulo the ideal 〈h〉 ofK[x] whenever h does not belong to any prime ideals associated with 〈h〉, thus,whenever h is neither null nor a zero-divisor modulo 〈h〉. The algebraic set ofAn+1(K) consisting of the common zeros of the polynomials in h is written asV(h). For W ⊂ An+1(K), we denote by I(W) the ideal of K[x] generated bythe polynomials vanishing at every point of W. The ideal I(W) is radical andwhen K = K holds, Hilbert’s Nullstellensatz states that

√〈h〉 = I(V(h)).

In the next two sections, we review the main concepts used in this paper,namely tangent cones and regular chains. For the former, we restrict ourselvesto tangent cones of a space curve and refer to [4] for details and the general3

case. For the latter concept, we refer to [3], in particular for the specifications ofthe basic operations on regular chains.

2.1 Tangent Cone of a Space Curve

As above, let h ⊂ K[x]. Define V := V(h) and let p := (p0, . . . , pn) ∈ Vbe a point. We denote by dimp (V) the maximum dimension of an irreduciblecomponent C of V such that we have p ∈ C. Recall that the tangent space ofV(h) at p is the algebraic set given by

Tp(h) := V( dp (f) : f ∈ I(V))

where dp (f) is the linear part of f at p, that is, the affine form ∂f∂x0

(p)(x0 −p0) + · · · + ∂f

∂xn

(p)(xn − pn). Note that Tp(h) is a linear space. We say thatV(h) is smooth at p whenever the dimension of Tp(h) is dimp (V) and singularotherwise. The singular locus of V(h), denoted by sing(h), is the set of thepoints p ∈ V(h) at which V(h) is singular.

Let f ∈ K[x] be a polynomial of total degree d and p := (p0, . . . , pn) ∈An+1(K) be a point such that f(p) = 0 holds. Let α = (α0, . . . , αn) ∈ Nn+1 be a(n+1)-tuple of non-negative integers. Denote: (x− p)α := (x0 − p0)

α0 · · · (xn −pn)

αn , where |α| = α0+ · · ·+αn is the total degree of x−p. Since the polynomialf ∈ K[x] has total degree d, it writes as a K-linear combination of the form:

f =∑

|α|=0

cα(x− p)α + · · ·+∑

|α|=d

cα(x− p)α

3 Note that in the book [3], and other classical algebraic geometry textbooks like [12],the tangent cone of an algebraic set at one of its points, is also an algebraic set. Twoequivalent definitions appear in [3] and are recalled in Definition 1 and Lemma 1.

Page 4: AStandardBasisFreeAlgorithmforComputing …moreno/Publications/A_Standard_Basis...with allcoefficientscα belongingto K.Eachsummandhcp (f; j) := P |α|=j cα(x− p)α is called the

with all coefficients cα belonging to K. Each summand hcp (f ; j) :=∑

|α|=j cα(x−p)α is called the homogeneous component in x − p of f in degree j . More-over, the homogeneous component of least degree of f in x − p is given byhcp (f ; min) := hcp (f ; jmin) where jmin = min(j ∈ N : hcp (f ; j) 6= 0).

Definition 1 (Tangent Cone of a Curve). Let C ⊂ An+1(K) be a curveand p ∈ C be a point. The tangent cone of C at a point p is the algebraic setdenoted by TCp(C ) and defined by TCp(C ) = V(hcp (f ; min) : f ∈ I(C )).

One can show that TCp(C ) consists of finitely many lines, all intersecting at p.

Fig. 1. This figure displays the typical“fish” curve, which is a planar curve givenby h = y2 − x2(x + 1) ∈ Q[x, y]. Clearly,two tangent lines are needed to form a“linear approximation” of the curve at theorigin. Elementary calculations show thesetwo lines actually form the tangent cone ofthe fish curve at the origin.

If I(C ) is generated by a single polynomial then computing TCp(C ) iseasy. Otherwise, this is a much harder computation. Let h ⊂ K[x] be suchthat V(h) = C . As pointed out by Mora et al. in [10], one can compute〈hcp (f ; min) : f ∈ I(C ) 〉 via a graded Grobner basis, say G, of the homoge-nization of h (a process where an additional variable xn+1 is used to make everyh ∈ h a homogeneous polynomial in K[x][xn+1]). Dehomogenizing G by lettingxn+1 = 1 produces the tangent cone of h [4, Chapter 9.7, Proposition 4].

Tangent cones are intimately related to the notion of intersection multiplicitythat we review below. As mentioned in the introduction, computing intersectionmultiplicities is the main motivation of the algorithm presented in this paper.

Definition 2. Let h ⊂ K[x]. The intersection multiplicity of p in V(h) is de-fined by im(p; h) := dimvec(O/ 〈h〉) where O :=

{f/g : f, g ∈ K[x], g(p) 6= 0

}

is the localization ring of K[x] at p and dimvec(O/ 〈h〉) is the dimension ofO/ 〈h〉 as a vector space over K. Note by [5, Chapter 4.2, Proposition 11] wemay substitute the power series ring K[[x− p]] for O.

Example 1. Let x = [x, y, z] and h = {x, y − z3, z2(z4 + 1

)}. We have:

K[[x]]/ 〈h〉 = K[[x]]/⟨x, y − z3, z2

⟩= K[[x]]/

⟨x, y, z2

⟩= {a+ bz : a, b ∈ K}

implying im(0; h) = 2.

Page 5: AStandardBasisFreeAlgorithmforComputing …moreno/Publications/A_Standard_Basis...with allcoefficientscα belongingto K.Eachsummandhcp (f; j) := P |α|=j cα(x− p)α is called the

2.2 Regular Chains

Broadly speaking, a regular chain of K[x] is a system of equations and inequa-tions defined by polynomials in K[x] such that each equation specifies, in animplicit manner, the possible values of one of the variables xi as a function ofthe variables of least rank, namely xi+1, . . . , xn. Regular chains are a convenientway to describe the solution set of a polynomial system. More precise statementsfollow.

Let h ∈ K[x] be a non-constant polynomial. The main variable of h is thelargest variable x ∈ x (for the ordering x0 ≻ · · · ≻ xn) such that h has a positivedegree in x. The initial of h, denoted init(h), is the leading coefficient of h w.r.t.its main variable. For instance the initial of zx+ t is x in Q[x ≻ y ≻ z ≻ t] and1 in Q[t ≻ z ≻ y ≻ x].

Let t ⊂ K[x] consist of non-constant polynomials. Then, the set t is saidtriangular if any two polynomials in t have different main variables. When t isa triangular set, denoting by It the product of the initials init(f) for f ∈ t, wecall saturated ideal of t, written sat(t), the column ideal sat(t) = 〈t〉 : I∞

tand

we call quasi-component of t the basic constructible set W(t) := V(t) \V(It).

Definition 3 (Regular Chain). The triangular set t ⊂ K[x] is a regular chainif either t is empty or the initial of f is regular modulo sat(t \ {f}), where f isthe polynomial in t with largest main variable.

Regular chains are used to decompose both algebraic sets and radical ide-als, leading to two types of decompositions called respectively Wu-Lazard andKalkbrener decompositions. More precisely, we have the following definition.

Finitely many regular chains t0, . . . , te ⊂ k[x] form a Kalkbrener decompo-sition of

√〈h〉 (resp. a Wu-Lazard decomposition of V(h)) whenever we have√

〈h〉 =√sat(t0) ∩ · · · ∩

√sat(te) (resp. V(h) = W(t0) ∪ · · · ∪W(te)). These

two types are different since the quasi-component of a regular chain t may not bean algebraic set. One should note that the Zariski closure of W(t) (that is, theintersection of all algebraic sets containing W(t)) is the zero set (i.e. algebraicset) of sat(t). One should observe, however, that if sat(t) is zero-dimensionalthen the quasi-component W(t) and the algebraic set V(t) coincide. Practicallyefficient algorithms computing both types of decompositions appear in [3].

Regular chains enjoy important algorithmic properties. One of them is theability to test whether a given polynomial f ∈ K[x] is regular or not modulo thesaturated ideal of a regular chain t ⊂ K[x]. This allows us to specify an operation,called Regularize, as follows. The function call Regularize (f, t) computes regularchains t0, . . . , te ⊂ K[x] such that

√sat(t) =

√sat(t0)∩· · ·∩

√sat(te) holds and

for i = 0, . . . , e, either f is zero modulo sat(ti) or f is regular modulo sat(ti).When sat(t) is zero-dimensional, one can give a simple geometrical interpretationto Regularize: this operation separates the points ofV(t) belonging to V(f) fromthose which do not lie on V(f).

Page 6: AStandardBasisFreeAlgorithmforComputing …moreno/Publications/A_Standard_Basis...with allcoefficientscα belongingto K.Eachsummandhcp (f; j) := P |α|=j cα(x− p)α is called the

3 Computing Intersection Multiplicities in Higher

Dimension

Our interest in a standard-basis free algorithm for computing tangent conescomes by way of an overall goal to compute intersection multiplicities in ar-bitrary dimension. As mentioned in the introduction, in a previous paper [8],relying on the book of Fulton [7] and the theory of regular chains, we derivedan algorithm for computing intersection multiplicities of planar curves. We alsosketched an algorithm criterion, see Theorem 1 below, for reducing the computa-tion of intersection multiplicities in arbitrary dimension to computing intersec-tion multiplicities in lower dimension. When applicable, successive uses of thiscriterion reduces intersection multiplicity computation in arbitrary dimension tothe bivariate case.

Theorem 1. For h = h0, . . . , hn−1, hn ∈ K[x] such that V(h0, . . . , hn−1, hn)is zero-dimensional, for p ∈ V(hn), if the hyper-surface V(hn) is not singularat p and if that the tangent space π of V(hn) at p intersects transversally4 thetangent cone of the curve V(h0, . . . , hn−1) at p, then we have

im(p; h0, . . . , hn−1, hn) = im(p; h0, . . . , hn−1, π) ,

hence, there is a polynomial map which takes h to a lower dimensional subspacewhile leaving the intersection multiplicity of V(h) at p invariant.

Checking whether this criterion is applicable, requires to compute the tangentcone of the curve V(h0, . . . , hn−1) at p, which motivates the present paper. Thisalgorithmic criterion was stated in [8] without justification, although the authorshad a long and technical proof available in a technical report extending [8]. Inthe PhD thesis of the fourth author [13], a simpler proof was obtained and wepresent it below.

Proof. The theorem follows from results of [12, Chapter IV]; we reuse the samenotation as in that reference when feasible.

Since p is an isolated point of V(h), any irreducible component of V(h0, . . . ,hn−1) through p must have dimension one. By Lemma 2 in [12, Chapter IV.1.3]it follows O is a one-dimensional local ring, where

O := O/ 〈h0, . . . , hn−1 〉 .

Let C0, . . . ,Cr be the irreducible components ofV(h0, . . . , hn−1) passing throughp and let p0, . . . , pr be their respective defining (prime) ideals in O. Our transver-sality assumption ensures hn and π are both nonzero divisors in O and conse-quently, since O is a one-dimensional local ring, we use Equation (6) from [12,

4 Two algebraic sets V0 and V1 in An+1(K) transversally intersect at a point p ∈ V0∩V1

whenever their tangent cones intersect at {p} only once or not at all. Note that ifone of V0 is a linear space, then it is its own tangent cone at p. Note also that, for asake of clarity, we have restricted Definition 1 to tangent cones of curves, althoughtangent cones of algebraic sets of higher dimension are defined similarly, see [4].

Page 7: AStandardBasisFreeAlgorithmforComputing …moreno/Publications/A_Standard_Basis...with allcoefficientscα belongingto K.Eachsummandhcp (f; j) := P |α|=j cα(x− p)α is called the

Chapter IV.1.3] to deduce

im(p; h0, . . . , hn−1, hn) =

r∑

i=0

mi dimvec

(O/〈 pi, hn 〉) (1)

and

im(p; h0, . . . , hn−1, π) =

r∑

i=0

mi dimvec

(O/ 〈pi, π 〉) (2)

for some constants m1, . . . ,mr that we need not define more precisely.

Remark 1. In the original reference the dimensions above are written as lengthsbut [6, Example A.1.1] permits us to use the vector space dimension instead.This holds for all the dimensions written below as well.

Because 〈h0, . . . , hn−1 〉 ⊂ pi for all i, we can rewrite (1) and (2) as (resp.)dimvec(O/〈 pi, hn 〉) and dimvec(O/〈 pi, π 〉). Hence it suffices to prove, exploitingthat 〈h0, . . . , hn−1 〉 has been replaced by a dimension one prime ideal, that

dimvec

(O/〈 pi, hn 〉) = dimvec

(O/〈 pi, π 〉)

for all i = 1, . . . , r to conclude.

Fix i for the remainder of this proof. The prime ideal pi defines a curve

C ⊂ Kn+1

. Let C′ ⊂ K

n′+1be a normalization of C given by ν : C

′ → C ; thusC ′ is non-singular. It follows from [12, Chapter IV.1.3.(9)] that

dimvec

(O/〈 pi, hn 〉) =∑

ν(p′)=p

dimvec

(OC ′,p′/h∗n),

when OC ′,p′ is the local ring of C ′ at p′ and h∗n is the pull-back of hn by ν. A

similar expression holds for π.

Now fix p′ in the fiber ν−1(p). We prove

dimvec

(OC ′,p′/h∗n) = dim

vec(OC ′,p′/π∗).

Without loss of generality shift to the origin, that is, assume p = 0 ∈ Kn+1

and

p′ = 0 ∈ Kn′+1

and also let t be a uniformizer for C ′ at p′ (remember that C ′

is non-singular). Finally, write ν = (ν0, . . . , νn), with all νi in K[C ′].

Expanding ν = (ν0, . . . , νn) in power series at the origin permits us to viewthem as in K[[t]]n+1. With this in mind, and without loss of generality, assumeν0 has the smallest valuation among ν0, . . . , νn (otherwise, do a change of coor-

dinates in Kn+1

). Call this valuation r, so that we can write, for all i:

νi(t) = νi, r tr + νi, r+1 t

r+1 + · · ·

Page 8: AStandardBasisFreeAlgorithmforComputing …moreno/Publications/A_Standard_Basis...with allcoefficientscα belongingto K.Eachsummandhcp (f; j) := P |α|=j cα(x− p)α is called the

It follows the component of the TC0(C ) corresponding to the image ν(C ′)around p′ is the limit of secants having directions

(ν0(t)

ν0(t),ν1(t)

ν0(t), . . . ,

νn(t)

ν0(t)

).

This limit is a line with direction(1,

ν1, rν0,r

. . . ,νn, rνn, r

),

or equivalently (ν1, r, . . . , νn, r). Because we assumed p is the origin, hn has awriting

hn(x0, . . . , xn) = π + higher order terms

with π = hn,0 x0 + · · ·+ hn,n xn; the transversality assumption implies

hn,0 ν0,r + · · ·+ hn,n νn,r 6= 0.

Using the local parameter t, the multiplicities

dimvec

(OC ′,p′/h∗n) and dim

vec(OC ′,p′/π∗)

can be rewritten as the respective valuations in t of h∗n and π∗, that is, of

hn(ν0(t), . . . , νn(t)) and π(ν0(t), . . . , νn(t)).

The latter is easy to find; it reads

π(ν0(t), . . . , νn(t)) =

(hn,0 ν0,r + · · ·+ hn,n νn,r)tr + (hn,0 ν0,r+1 + · · ·+ hn,n νn,r+1)t

r+1 + · · · .

Due to the shape of hn, the former is

hn(ν0(t), . . . , νn(t)) = (hn,0 ν0,r + · · ·+ hn,n νn,r)tr + higher order terms.

Since we know hn,0 ν0,r + · · · + hn,n νn,r 6= 0, both expressions must have thesame valuation r, so we are done. �

4 Computing Tangent Lines as Limits of Secants

From now on, the coefficient field K is the field C of complex numbers and theaffine space An+1(C) is endowed with both Zariski topology and the Euclideantopology. While Zariski topology is coarser than the Euclidean topology, we havethe following key result (Corollary 1 in Section I.10 of Mumford’s book [11]):For an irreducible algebraic set V and a subset U ⊆ V open in the Zariskitopology induced on V, the closure of U in Zariski topology and the closure ofU in the Euclidean topology are both equal to V. It follows that, for a regular

Page 9: AStandardBasisFreeAlgorithmforComputing …moreno/Publications/A_Standard_Basis...with allcoefficientscα belongingto K.Eachsummandhcp (f; j) := P |α|=j cα(x− p)α is called the

chain t ⊂ C[x] the closure of W(t) in Zariski topology and the closure of W(t)in the Euclidean topology are equal, thus both equal to V(sat(t)). This resultprovides a bridge between techniques from algebra and techniques from analysis.The authors of [2] take advantage of Mumford’s result to tackle the followingproblem: given a regular chain t ⊂ C[x], compute the (non-trivial) limit pointsof the quasi-component of t, that is, the set lim(W(t)) := W(t) \W(t).

In the present paper, we shall obtain the lines forming the tangent cone of aspace curve at a point by means of a limit computation process. And in fact, thislimit computation will reduce to computing lim(W(t)) for some regular chain t.To this end, we start by stating the principle of our method in Section 4.1. Then,we turn this principle into an actual algorithm in Section 4.2 via an alternativecharacterization of a tangent cone, based on secants.

4.1 An Algorithmic Principle

Let h = {h0, . . . , hn−1} ⊂ C[x] be n polynomials such that C = V(h) is a curve,that is, a one-dimensional algebraic set. Let p ∈ C be a point. The followingproposition is well-known, see Theorem 6 in Chapter 9 of [4].

Lemma 1. A line L through p lies in the tangent cone TCp(C ) if and only ifthere exists a sequence {qk : k ∈ N} of points on C \ {p} converging to p andsuch that the secant line Lk containing p and qk becomes L when qk approachesp.

Under some mild assumption, we derive from Lemma 1 a method for com-puting TCp(C ). We assume that for each h ∈ h, the hyper-surface V(h) isnon-singular at p. This assumption allows us to approach the lines of TCp(C )with the intersection of the tangent spaces Tq(h0) , . . . , Tq(hn−1) when q ∈ C isan sufficiently small neighborhood of p. A more precise description follows.

For each branch of a connected component D through p of C = V(h)there exists a neighborhood B about p (in the Euclidean topology) such thatV(h0) , . . . ,V(hn−1) are all non-singular at each q ∈ (B∩D)\{p}. Observe alsothat the singular locus sing (D) contains a finite number of points. It followsthat we can take B small enough so that B ∩ sing (D) is either empty or {p}.Define

v(q) := Tq(h0) ∩ · · · ∩ Tq(hn−1) ,

where Tq(hi) is the tangent space of V(hi) at p.Lemma 2 states that we can obtain TCp(C ) by finding the limits of v(q) as q

approaches p. Since TCp(C ) is the union of all the TCp(D), this yields a methodfor computing TCp(C ).

Lemma 2. The collection of limits of lines v(q) as q approaches p in (B ∩D) \{p} gives the tangent cone of D at q. That is to say

TCp(D) = limq→p

v(q) = limq→p

Tq(h0) ∩ · · · ∩ Tq(hn−1) .

Page 10: AStandardBasisFreeAlgorithmforComputing …moreno/Publications/A_Standard_Basis...with allcoefficientscα belongingto K.Eachsummandhcp (f; j) := P |α|=j cα(x− p)α is called the

Proof. There are two cases, either

1. D is smooth at p and B ∩ sing (D) = ∅, or2. D is singular at p and B ∩ sing (D) = {p}.

Case 1. Assume q ∈ B ∩ D is arbitrary and observe D is smooth within B andthereby the tangent cone of D is simply the tangent space (i.e. TCq(D) = Tq(D)).

Notice Tq(D) is a sub-vector space of v(q). Indeed, let w ∈ Tq(D) be anytangent vector to D at q. As D is a curve in each V(h) for h ∈ h it follows w isa vector tangent to each V(h) as well. Correspondingly w ∈ Tq(h) for any h ∈ h

and thus w ∈ v(q).

Finally, since h0, . . . , hn−1 form a local complete intersection in B, we knowv(q) is a one-dimensional subspace of each Tq(h0). Since w ∈ Tq(h) for eachh ∈ h, the vector w must span this subspace. Thus, for each q ∈ B ∩ D , we have

Tq(D) = Tq(h0) ∩ · · · ∩ Tq(hn−1) .

Taking the limit of each side of the above equality, when q approaches p andusing again the fact that D is smooth at q = p, we obtain the desired result,that is, TCp(D) = limq→p v(q) .

Case 2. Assume D ∩ B − {p} is a finite union of smooth curves D0, . . . , Dj .These are the smooth branches of D ∩ B meeting at the singular point p. Eachj corresponds to a unique line

Lj = limq→p

v(q) ⊂ Tp(D)

as q approaches p along Dj .

By Lemma 1 the tangent cone TCp(D) is the collection of limits to p ofsecant lines through p in D . Such lines given by secants along Dj must coincidewith Lj . More precisely

L0 ∪ · · · ∪ Lj ⊂ TCp(D) .

Because each Dj is smooth there is only one secant line for each j and thereby

L0 ∪ · · · ∪ Lj = TCp(D)

as desired.

4.2 Algorithm

Under a smoothness assumption, Lemma 2 states a principle for computingTCp(C ). Let us now turn this principle into a precise algorithm and relax thissmoothness assumption as well. To this end, we make use of Lemma 1.

Page 11: AStandardBasisFreeAlgorithmforComputing …moreno/Publications/A_Standard_Basis...with allcoefficientscα belongingto K.Eachsummandhcp (f; j) := P |α|=j cα(x− p)α is called the

Let q be a point on the curve C = V(h) with coordinates x. Further let pqbe a unit vector in the direction of pq (i.e. the line through p and q). To exploitLemma 1 we must calculate the set

{limq→pq 6=p

pq

},

which is indeed a set because C may have several branches through p yieldingseveral lines in the tangent cone TCp(C ).

Let t ⊂ C[y][x] be a zero-dimensional regular chain encoding5 the point p,that is, such that we have V(t) = {p}. Note that the introduction of y for thecoordinates of p is necessary because the “moving point” q is already using x

for its own coordinates. Consider the polynomial set

s = t ∪ h.

and observe that the ideal 〈s〉 is one-dimensional in the polynomial ringC[xn−1 ≻· · · ≻ x0 ≻ yn−1 ≻ · · · ≻ y0]. Let t0, . . . , te ⊂ C[y][x] be one-dimensional regularchains forming a Kalkbrener decomposition of

√〈s〉. Thus we have

V(s) = W(t0) ∪ · · · ∪W(te).

Computing with the normal vector pq is unnecessary and instead we divide

the vector −→pq by xn − yn. Since the n-th coordinate of−→pq

xn−yn

is 1, this vectorremains non-zero when q approaches p. However, this trick leads to a validlimit computation provided that xn − yn vanishes finitely many times in V(s).When this is the case, the lines of the tangent cone, that are not contained inthe hyperplane yn = xn, can be obtained via limits of meromorphic functions(namely Puiseux series expansions) by letting xn approach yn and using thetechniques of [2]. As we shall argue below, an ordering of x, for which xn − ynis regular, always exists. Hence, up to variable re-ordering, this tricks applies.

Since the tangent cone may have lines contained in the hyperplane yn = xn,additional computations are needed to capture them. There are essentially twooptions:

1. Perform a random linear change of the coordinates so as to assume that,generically, yn = xn contains no lines of TCp(C ).

2. Compute in turn the lines not contained in the hyperplane yi = xi for alli = 0, . . . , n and remove the duplicates; indeed no lines of the tangent conecan simultaneously satisfy yi = xi for all i = 0, . . . , n.

Our experiments with theses two approaches suggest that, although the secondone seems computationally more expensive, it avoids the expression swell of thefirst one and is practically more efficient.

5 In practice, we may use a zero-dimensional regular chain t ⊂ C[y][x] such that{p} ⊆ V(t) ⊆ C holds. Then, the following discussion will bring the tangent coneat several points of C instead of p only.

Page 12: AStandardBasisFreeAlgorithmforComputing …moreno/Publications/A_Standard_Basis...with allcoefficientscα belongingto K.Eachsummandhcp (f; j) := P |α|=j cα(x− p)α is called the

From now on, we focus on computing the lines of the tangent cone not con-tained in the hyperplane yn = xn. We note that, deciding whether xn − ynvanishes finitely many times in V(s) can be done algorithmically by testingwhether xn − yn is regular modulo the saturated ideal of each regular chaint0, . . . , te. The operation Regularize described in Section 2 performs this task.

Consider now tj , that is, one of the regular chains t0, . . . , te. Thanks to thespecifications of Regularize, we may assume w.l.o.g. that either xn−yn is regularmodulo sat(tj) or that xn − yn ≡ 0 mod sat(tj) holds.

Consider the latter case first. If xn − yn ≡ 0 mod sat(tj) then W(tj) ⊆V(xn − yn) holds and we try to divide each component of pq by xn−1 − yn−1

instead of xn−yn. A key observation is that there is d ∈ [0, n] such that xd−yd 6≡0 mod sat(tj) necessarily holds. Indeed, if xi − yi ≡ 0 mod sat(tj) would hold

for all i ∈ [0, n] then W(tj) ⊂ V(x0 − y0) ∩ · · · ∩ V(xn − yn) would hold as

well. Since the y coordinates are fixed by t, the algebraic set W(tj) would bezero-dimensional—a contradiction.

Hence, up to a variable renaming, we can assume that xn−yn is regular mod-ulo sat(tj). Therefore, the algebraic set V(xn − yn)∩W(tj) is zero-dimensional,thus, each component of pq is divisible by xn − yn, when q is close enough to p,with q 6= p. Define

m0 =x0 − y0xn − yn

, . . . , mn =xn − ynxn − yn

.

and regard m = m0, . . . ,mn as new variables, that we call slopes, for clearreasons. Observe that the vector of coordinates (m0, . . . ,mn, 1) is a normal vectorof the secant line pq. Thus, our goal is to “solve for” m when xn approaches ynwith (y0, . . . , yn, x0, . . . , xn) ∈ W(tj).

We turn this question into one computing the limit points of a one-dimensionalregular chain, so as to use the algorithm of [2]. To this end, we extend the regularchain tj to the regular chain Mj ⊂ C[m][y][x] given by

Mj = tj ∪

m0(x0 − y0)− (xn − yn)...

mn(xn − yn)− (xn − yn)

.

Note thatMj is one-dimensional in this extended space and computing lim(W(Mj)),using the algorithm of [2], solves for m when xn → yn with (x,y) ∈ W(t0).Therefore and finally, the desired set {limq→p,q 6=p pq} is obtained as the limitpoints of the quasi-components of M0, . . . ,Mn.

Remark 2. Observe that the above process determines the slopes m0, . . . , mn asroots of the top n polynomials of zero-dimensional regular chains in the variablesmn ≻ · · · ≻ m0 ≻ xn ≻ · · · ≻ x0 ≻ yn · · · ≻ y0. Performing a change of variableordering to x ≻ m ≻ y expresses m0, . . . ,mn−1 as functions of the coordinatesof the point p only. We consider this a more desirable output.

Page 13: AStandardBasisFreeAlgorithmforComputing …moreno/Publications/A_Standard_Basis...with allcoefficientscα belongingto K.Eachsummandhcp (f; j) := P |α|=j cα(x− p)α is called the

4.3 Equations of Tangent Cones

In the previous section, we saw how to compute the tangent cone TCp(C ) inthe form of the slopes of vectors defining the lines of TCp(C ). Instead, one mayprefer to obtain TCp(C ) in the form of the equations of the lines of TCp(C ).We explain below how to achieve this. Let S be an arbitrary point with coordi-nates (X0, . . . , Xn). This point belongs to one of the lines of the tangent cone(corresponding to the branches of the curve defined by W(tj)) if and only if thevectors

−→pqxn − yn

=

1mn−1

...m0

and p S =

Xn − ynXn−1 − yn−1

...X0 − y0

are collinear. That is, if and only if we have the following relations

Xn = mn(xn − yn) + yn...

X0 = m0(xn − yn) + y0.

(3)

Consider a regular chain (obtained with the process described in Remark 2)thus expressing the slopesm0, . . . ,mn−1 as functions of the coordinates y0, . . . , ynof p. Let us extend this regular chain with the relations from Equation (3), soas to obtain a one-dimensional regular chain in the variables Xn ≻ · · · ≻ X0 ≻mn−1 ≻ · · · ≻ m0 ≻ yn · · · ≻ y0. Next, we eliminate the variables m0, . . . ,mn−1,with the above equations. This is, indeed, legal since the only point of a line ofthe tangent cone where the equation xn = yn holds is p itself. Finally, this elim-ination process consists simply of substituting Xi−yi

xn−yn

for mi into the equationsdefining m0, . . . ,mn.

4.4 Examples

The following examples illustrates our technique for computing tangent conesas limits. We write tangent cones using unions to save vertical space and toseparate slope from point.

Example 2. Consider calculating the tangent cone of the fish h = y2 −x2(x+1)at the origin. The Puiseux expansions of h at x = 0 in T are given by

{y = −T − 1

2 T2 +O(T 3)

x = Tand

{y = T + 1

2 T2 +O(T 3)

x = T

and substituting these values into ym− x produces

(− 1

2 T2 − T

)m− T and

(12 T

2 + T)m− T.

Call these expressions M0 and M1 respectively.

Page 14: AStandardBasisFreeAlgorithmforComputing …moreno/Publications/A_Standard_Basis...with allcoefficientscα belongingto K.Eachsummandhcp (f; j) := P |α|=j cα(x− p)α is called the

To find the value of m at T = 0 we find the Puiseux series expansions forM0 and M1 at T = 0 in U ; these are respectively.

{m = −1 + 1

2 U − 14 U

2 +O(U3)

T = Uand

{m = 1− 1

2 U + 14 U

2 +O(U3)

T = U.

Taking U → 0 in the above produces the (expected) slopes of 1 and −1.

Fig. 2. Limiting secants along V(

x2 + y2 + z2 − 1, x2 − y2 − z)

.

Example 3. Consider Figure 2, i.e. secants along the curve h = {x2 + y2 + z2 −1, x2−y2−z} ⊂ K[x, y, z] limiting to a point given by a zero dimensional regularchain t =

⟨x+ y, 2y2 − 1, z

⟩.

TCt(h) =

m1 − 1

m2

m3

2x2 − 1

2y2 − 1

z

or alternatively (using equations of lines instead)

TCt(h) =

{z ± 4x√

2+ 2, y − x± 2√

2

}.

Notice the slope for four points are encoded here. In particular the points

{(1

±√2,

1

±√2, 0

),

(− 1

±√2,

1

∓√2, 0

)}

have slope given by the vector 〈1, 0, 0〉.

Page 15: AStandardBasisFreeAlgorithmforComputing …moreno/Publications/A_Standard_Basis...with allcoefficientscα belongingto K.Eachsummandhcp (f; j) := P |α|=j cα(x− p)α is called the

Fig. 3. Secants alongV(

x2 + y2 + z2 − 1)

∩V(

x2 − y2 − z(z − 1))

limiting to (0, 0, 1).

Example 4. Consider Figure 3, i.e. secants along the curve h = {x2 + y2 + z2 −1, x2 − y2 − z(z − 1)} ⊂ k[x, y, z] limiting to (0, 0, 1)

TC(0,0,1)(h) =

m1 +m2

2m22 − 6m2 + 3

m3

x

y

z − 1

or alternatively (using equations of lines instead)

TC(0,0,1)(h) ={z − 1, y2 − 3x2

}.

Notice the values of the slopes here are in the algebraic closure of the coefficientring. In particular, they are

{(32 +

√6, 3

2 +√6, 0

),(

32 −

√6, 3

2 −√6, 0

)}.

5 Conclusion

We presented an alternative and Grobner-free method for calculating the tangentcone of a space curve at any of its points. In essence, this is done by simulating alimit calculation along a curve using variable elimination. From this limit we canconstruct each line of the tangent cone by solving for the vector of instantaneousslope along each tangents corresponding secant lines. Finally, this slope vectorcan be converted into equations of lines.

References

1. P. Alvandi, C. Chen, S. Marcus, M. Moreno Maza, E. Schost, and P. Vrbik. Doingalgebraic geometry with the regularchains library. In H. Hong and C. Yap, editors,Mathematical Software - ICMS 2014 - 4th International Congress, Seoul, South

Korea, August 5-9, 2014. Proceedings, volume 8592 of Lecture Notes in Computer

Science, pages 472–479. Springer, 2014.

Page 16: AStandardBasisFreeAlgorithmforComputing …moreno/Publications/A_Standard_Basis...with allcoefficientscα belongingto K.Eachsummandhcp (f; j) := P |α|=j cα(x− p)α is called the

2. P. Alvandi, C. Chen, and M. Moreno Maza. Computing the limit points of thequasi-component of a regular chain in dimension one. In CASC, pages 30–45, 2013.

3. C. Chen and M. Moreno Maza. Algorithms for computing triangular decompositionof polynomial systems. J. Symb. Comput., 47(6):610–642, 2012.

4. D. Cox, J. Little, and D. O’Shea. Ideals, Varieties, and Algorithms. Spinger-Verlag,1st edition, 1992.

5. D. Cox, J. Little, and D. O’Shea. Using Algebraic Geometry. Graduate Text inMathematics, 185. Springer-Verlag, New-York, 1998.

6. W. Fulton. Introduction to intersection theory in algebraic geometry, volume 54 ofCBMS Regional Conference Series in Mathematics. Published for the ConferenceBoard of the Mathematical Sciences, Washington, DC, 1984.

7. W. Fulton. Algebraic curves. Advanced Book Classics. Addison-Wesley, 1989.8. S. Marcus, M. Moreno Maza, and P. Vrbik. On Fulton’s algorithm for computing

intersection multiplicities. In Computer Algebra in Scientific Computing, pages198–211. Springer Berlin Heidelberg, 2012.

9. F. Mora. An algorithm to compute the equations of tangent cones. In Jacques Cal-met, editor, Computer Algebra, volume 144 of Lecture Notes in Computer Science,pages 158–165. Springer Berlin Heidelberg, 1982.

10. T. Mora and G. Pfister C. Traverso. An introduction to the tangent cone algo-rithm issues in robotics and non-linear geometry. Advances in Computing Research,6:199–270, 1992.

11. D. Mumford. The Red Book of Varieties and Schemes. Springer-Verlag, 2nd edition,1999.

12. I. R. Shafarevich. Basic algebraic geometry. 1. Springer-Verlag, Berlin, secondedition, 1994.

13. P. Vrbik. Computing Intersection Multiplicity via Triangular Decomposition. PhDthesis, The University of Western Ontario, 2014.