Abstract

We present an algorithm that computes the singular points of projective plane algebraic curves and determines their multiplicities and characters. The feasibility of the algorithm is analyzed. We prove that the algorithm has the polynomial time complexity on the degree of the algebraic curve. The algorithm involves the combined applications of homotopy continuation methods and a method of root computation of univariate polynomials. Numerical experiments show that our algorithm is feasible and efficient.

1. Introduction

Algebraic curves are a classic research object in mathematics. The related computation of algebraic curves arises in several applications, including number theoretic problems [1], ancient and modern architectural designs, error-correcting [2], biological shape [3], cryptographic algorithms [4, 5], and computer aided geometric design [6, 7]. Singular points and their multiplicities and characters play an important role in the research of algebraic curves [8]. They help to determine the genus of an algebraic curve. Singular points also show some shape features, such as nodes, self-intersections or cusps of real curves in robot motion planning, computer aided geometry design, and machine vision. And the determination of geometric shape and topology of the real curves depends on the singular points. The computation of singular points is also crucial for tracing curves algorithms [9].

As singular points of an algebraic curve are the solutions of a polynomial system, most of algorithms in [1015] solve the polynomial system either by Gröbner basis method described in [16] or by resultant computation. These methods rely on symbolic algebraic computation that requires exact input of coefficients of algebraic curves. It is easy for them to suffer from the overwhelming coefficient swell. So these methods may be limited to relatively small problem. Furthermore, it is difficult to obtain exact coefficients of algebraic curves due to data error in many fields of science and engineering.

Although we have presented an algorithm to compute singular points of irreducible algebraic curves in [17], the algorithm is almost experimental and related analysis of the algorithm is not provided, for instance, the feasibility and complexity. The aims of this paper are analyzing the feasibility of this algorithm for computing singular points of reducible algebraic curves and proving that the algorithm has polynomial time complexity on the degree of an algebraic curve. We also present the effect of tiny perturbations of coefficients of algebraic curves on singular points and it may be a part of reasons why we compute the singular points numerically.

Our algorithm is totally numerical and can deal with algebraic curves with inexact coefficients. It includes the applications of homotopy continuation methods and the method of calculating the multiple roots of univariate polynomials with inexact coefficients without using multiprecision arithmetic. Homotopy continuation method is a reliably and efficiently numerical method to solve the polynomial systems [18]. Several methods have been presented to compute roots of univariate polynomials, such as Laguerre’s method, Jenkins-Traub method, and the QR algorithm with the companion matrix. However, they cannot overcome a barrier of attainable accuracy on an multiple root [19, 20]. If we have digits coefficients accuracy and digits machine precision, the attainable accuracy is digits. For example, if the standard double precision of 16 decimal digits is used and the accuracy of coefficients of the polynomial is 15 digits, only 3 correct digits of a root of multiplicity 5 can be obtained by the above methods. A method proposed by Zeng [21] is not subject to the accuracy barrier and a lot of numerical experiments have shown its efficiency and robustness.

The following section presents the basic notions on algebraic curves and singular points. In Section 3, we focus on the algorithm of computing singular points. Section 4 is devoted to the numerical experiments. We conclude this paper in Section 5.

2. Preliminaries

In this section, we introduce some basic notions and results on algebraic curves and singular points. Let be the complex numbers field and let be the projective plane over .

Definition 1 (see [8, 22]). A projective plane algebraic curve over is defined as the set for a nonconstant square-free homogeneous polynomial .
We call the defining polynomial of . The degree of polynomial is called the degree of .

We take the line in as the line at infinity. If the projective plane algebraic curve is defined by the polynomial , then the corresponding affine plane algebraic curve is defined by the dehomogenization of , where is the affine plane over .

Therefore, if then where is a homogeneous polynomial of degree and is nonzero.

Throughout this paper, whenever we speak of a “curve” we mean an “algebraic curve.” For brevity, we will usually use the phrase “the curve ” instead of “the projective plane algebraic curve whose defining polynomial is .” Of course, a polynomial , for some nonzero , defines the same curve, so is unique only up to multiplication by nonzero constants. The above usage is also for the case of affine plane algebraic curve.

Every point on corresponds to a point on , and every additional point on is a point at infinity. In other words, the first two coordinates of additional points are the nontrivial solutions of , with the third coordinates being 0. Thus, the curve has only finitely many points at infinity.

Definition 2 (see [8, 22]). Let be an affine plane algebraic curve over defined by , and let . is of multiplicity on if and only if all derivatives of up to and including the th vanish at , but at least one th derivative does not vanish at .
A point of multiplicity two or more is said to be a singular point, and especially the point of multiplicity two is called a double point. A point of multiplicity one is called a simple point.

It is evident that a necessary and sufficient condition that a point of the curve is singular is that

Definition 3 (see [8]). Let the parametric equations of tangents to the curve at be and the tangents to the curve at of multiplicity are determined by the ratio and correspond to the roots of where , and they are counted with multiplicities equal to the multiplicities of the corresponding roots of this equation.

Definition 4 (see [8, 22]). A singular point of multiplicity on an affine plane algebraic curve is called ordinary if and only if the tangents to at are distinct and nonordinary otherwise. The property of singular point of being ordinary or nonordinary is called the character of .

The criteria for the multiplicity of a point on the projective plane algebraic curve can be characterized as follows.

Proposition 5 (see [8]). is a point of multiplicity on the projective plane algebraic curve if and only if all the th derivatives of , but not all the th derivatives, vanish at .

As a corollary of this proposition, a point of the curve being singular can be put in a more convenient form.

Proposition 6 (see [8, 22]). is a singular point of the projective plane algebraic curve if and only if

The following two theorems are of use for analyzing the algorithm of the next section.

Theorem 7 (see [8]). If a curve of degree with no multiple components has multiplicities at points , then

Theorem 8 (see [8] Bézout’s theorem). Two curves of degrees and with no common components have exactly intersections.

3. Computation of Singular Points

In this section, a method of solving the overdetermined polynomial systems is presented first. We also outline the algorithm on computing the singular points of projective plane algebraic curves, and afterwards we analyze feasibility and complexity of the algorithm. The last subsection includes the effect of tiny perturbations of coefficients of the curve on singular points.

3.1. Solving Overdetermined Polynomial Systems

The following proposition shows how to reduce an overdetermined polynomial system to a square system that most of the papers and software programs on homotopy continuation method focus on. Let and be the number of equations and unknowns, respectively, and .

Proposition 9 (see [23, 24]). There are nonempty Zariski open dense sets of parameters or such that every isolated solution of is an isolated solution of

The solutions set of an overdetermined system belongs to that of the corresponding square system, but the converse is not true.

3.2. Algorithm

We summarize the algorithm described in [17] for computing the singular points of irreducible projective plane algebraic curves.

Algorithm 1.
Input. Consider projective plane algebraic curve and corresponding affine plane algebraic curve . Threshold is .
Output. Consider singular points and their multiplicities and characters of the curve .

Step 1 (randomization). By Proposition 9 and choosing the random complex numbers and , we add random multiples of the last equation to the first two equations of the polynomial system (5):

Step 2 (computing the singular points ). We solve the polynomial system (12) by the polyhedral homotopy continuation method first and denote the solutions set as . If , will be a singular point.

Step 3 (computing the singular points at infinity). Since is a bivariate homogeneous polynomial of degree , we obtain the points set at infinity by solving the corresponding univariate polynomial. By Proposition 6, if , then will be a singular point at infinity.
When we determined the multiplicity and character of singular point at infinity, will be transferred to point by simple linear transformation.

Step 4 (determining the multiplicity). Evaluating the derivatives of at a singular point from order equal to 2, if the moduli of all derivatives of up to and including the th are less than , but at least one modulus of th derivatives is greater than , then the multiplicity of this singular point will be determined as .

Step 5 (determining the character). The tangents to the curve at a singular point of multiplicity correspond to the roots of (7). Whether the singular point is ordinary or not will be determined if there are multiple roots of (7).

3.3. Remarks on Feasibility of Algorithm

The following theorems and remarks will show the feasibility of Algorithm 1 for computing the singular points of reducible projective plane algebraic curves.

Theorem 10. All the solutions of polynomial system (12) are isolated.

Proof. Since is square-free, and have no nonconstant common divisors. It also holds for and . In Step 1 of Algorithm 1, for the random complex numbers and , and also have no nonconstant common divisors. It follows that all the solutions of polynomial system (12) are isolated.

Remark 11. The inequality in Theorem 7 shows that an irreducible curve has finitely many singular points. So, the singular point of an irreducible curve is isolated.

Theorem 12. A reducible curve has only finitely many singular points and they are all isolated points.

Proof. Without loss of generality, we may assume that , where and are irreducible polynomials. Obviously, the singular points of are the singular points of and the intersections of and . By Remark 11 and Theorem 8, the set of singular points of is finite and the singular points are all isolated.

Remark 13. When solving the polynomial system (12) in Step 2 of Algorithm 1 by homotopy continuation methods, Proposition 9 and Theorem 12 imply that all singular points of reducible curve can be determined.

Remark 14. In Step 2 of Algorithm 1, the Jacobian of polynomial system (12) is This matrix is singular at a singular point of multiplicity three at least. The numerical techniques of homotopy continuation methods could deal with this well.

Remark 15. As is a nonzero polynomial and has finite degree , the modulus of some derivative of order less than or equal to must be greater than the given threshold at a singular point. Hence, Step 4 of Algorithm 1 ends for determining the multiplicities of finitely many singular points.

Remark 16. We solve univariate polynomials in Steps 3 and 5 of Algorithm 1. Numerical singular points make the coefficients of univariate polynomials in Step 5 inexact. We have mentioned the efficiency of computation of multiple roots of inexact univariate polynomials proposed by Zeng in Section 1. Employing Zeng’s method, we compute the singular points at infinity accurately in Step 3 and the characters of all singular points can be determined correctly in Step 5.

3.4. Computational Complexity

In this subsection, we analyze the computational complexity of Algorithm 1. The degree of the curve is denoted by .

Theorem 17. The complexity of Step 2 in Algorithm 1 is .

Proof. Shub and Smale [25, 26] present that finding an approximate zero of a polynomial system by homotopy continuation methods can be solved in polynomial time on the average and the number of arithmetic operations is bounded by , where is a universal constant and is the number of variables. By Bézout’s Theorem 8, the number of solutions of polynomial system (12) is at most. We deduce that the complexity of Step 2 is no more than .

Theorem 18. The complexity of Steps 3 and 5 in Algorithm 1 is and or less, respectively.

Proof. Pan reports [19] that the complexity of general root-finders of univariate polynomial of degree is or less, but Zeng’s method [21] reaches high accuracy on multiple roots at the higher computing cost of . It follows that the complexity of Step 3 is . From Steps 2 and 3, we know that the number of singular points of the curve of degree is at most. Therefore, we conclude that the complexity of Step 5 is or less.

Theorem 19. The complexity of Step 4 in Algorithm 1 does not exceed .

Proof. The number of all the nonzero derivatives of bivariate polynomial of degree is not more than . The complexity of evaluation of a polynomial at a point is linear in the degree of the polynomial and the number of variables. Since there are points at most in Step 4 of Algorithm 1 and the complexity of linear change of coordinates is polynomial in the number of variables, the complexity of Step 4 does not exceed .

The following theorem holds at once.

Theorem 20. The complexity of Algorithm 1 is polynomial time in the degree of the projective plane algebraic curve and is .

3.5. Effect of Tiny Perturbations on Singular Points

The authors [27] conclude that random perturbations of coefficients of plane algebraic curves will almost invariably destroy all singular points. The current methods dealing with plane algebraic curves are almost ill-conditioned with respect to tiny perturbations. For example, let us consider the curve with nonordinary double singular point and its perturbation , where . It is natural to compute the approximate singular point out and the original character for relative magnitude . However, the character of singular point is changed by using symbolic algebraic computation, even if is sufficiently small.

For the curve , when , the numerical procedure based on Algorithm 1 outputs a nonordinary double singular point

4. Numerical Experiments

In this section, Algorithm 1 is implemented in Matlab and some examples are presented to show the efficiency of corresponding numerical procedure. There are many freely available homotopy continuation packages. As Lee et al. [28] report that HOM4PS-2.0 is generally the fastest package for solving small to moderately large sparse systems, it is employed to solve polynomial system (12) in Algorithm 1. Many numerical examples are provided in [17] where the curves are irreducible and the coefficients of the curves are inexact. We finish this section with two reducible curves.

Example 1. Consider

There are two components and for the curve . The curve has no singular points and its real part is plotted in Figure 1. The curve has nonordinary double singular point corresponding to (0 : 0 : 1) and ordinary double singular point corresponding to (0 : 1 : 0). Figure 2 shows real part of the curve and the singular point corresponding to (0 : 0 : 1) is marked by a solid square.

The curves and have 8 intersections corresponding to . Their related projective curves intersect at infinity. is the simple point of , nonordinary double point of . Therefore, corresponding to (0 : 0 : 1) is nonordinary singular point of multiplicity of 3 of . (0 : 1 : 0) is ordinary double point and simple point of the corresponding projective curves for and , respectively. The tangent to the latter at coincides with one tangent to the former at . So, (0 : 1 : 0) is nonordinary singular point of multiplicity of 3 of the projective curve corresponding to .

Table 1 lists the results of our numerical procedure for the projective curve corresponding to in Example 1. Figure 3 presents the real part of in Example 1. The solid dot marks the real intersection of and corresponding to . The real singular point corresponding to (0 : 0 : 1) is still marked by a solid square.

We use the abbreviations “Mult.” and “Ord.” for the words “multiplicity” and “ordinary” in our tables, respectively.

Example 2. Consider

The curve has two components and . There are six singular points corresponding to for the curve and they are marked by solid squares in Figure 4 where the real part of the curve is plotted. Four singular points corresponding to of the curve are illustrated by the solid triangles in Figure 5 where the real part of the curve is presented. Obviously, are singular points of the projective curve corresponding to the curve .

There are 29 intersections corresponding to for the curves and . Their related projective curves intersect at infinity. These 30 intersections are also singular points of the projective curve corresponding to the curve . So the curve has 40 singular points.

Figure 6 shows the real part of the curve whose real singular points are marked by the solid dots, squares, and triangles. The solid dots mark the real intersections of the curves and . The solid squares and triangles illustrate the singular points of the curves and , respectively. Table 2 lists the results of our numerical procedure for the projective curve corresponding to in Example 2.

It takes 0.28628 seconds and 1.26786 seconds for our numerical procedure to obtain the results of Examples 1 and 2, respectively, on the Lenovo PC with Pentium Dual Core, CPU of 2.5 GHZ, and memory of 1.99 GB. We usually choose as the thresholds in Steps 2, 3, and 4 in Algorithm 1.

5. Conclusions

This paper provides an effective algorithm for computing the singular points of projective plane algebraic curves by homotopy continuation methods. The determination of multiplicities relies on the accuracy of singular points. The characters of singular points are determined by Zeng’s method for computing multiplicities of roots of inexact univariate polynomials. The precision of coefficients of inexact univariate polynomials in our algorithm depends on the accuracy of singular points. Several numerical examples are presented to illustrate the efficiency of our algorithm. We will discuss the adaptive thresholds of the algorithm in the future.

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

Acknowledgment

This paper is supported by the National Natural Science Foundation of China (no. 11171052).