A rational cubic clipping method for computing real roots of a polynomial☆
Introduction
Many problems in computer aided geometric design and computer graphics can be turned into a root-finding problem of polynomial equations, such as curve/surface intersection (Efremov et al., 2005, Liu et al., 2009, Nishita et al., 1990, Patrikalakis and Maekawa, 2002), point projection (Chen et al., 2008), collision detection (Choi et al., 2006, Lin and Gottschalk, 1998), and bisectors/medial axes computation (Elber and Kim, 2001). In principle, a system of polynomial equations of multiple variables can be turned into a univariate polynomial equation by using the resultant theory. This paper discusses the root-finding problem of a univariate polynomial equation within an interval.
Many references turn the given polynomial into its power series, and a collection of related references can be found in McNamee (1993–2002), Isaacson and Keller (1966), Mourrain and Pavone (2005), Reuter et al. (2007), Rouillier and Zimmermann (2004). The Bernstein–Bézier form of has a good numerical stability with respect to perturbations of the coefficients (Farouki et al., 1987, Farouki and Goodman, 1996, Jüttler, 1998). Several clipping methods based on the Bernstein–Bézier form are developed (Bartoň and Jüttler, 2007, Liu et al., 2009, Morken and Reimers, 2007, Sederberg and Nishita, 1990). Note that the number of zeros of a Bézier function is less or equal to that of its control polygon. The method in Morken and Reimers (2007) utilizes the corresponding control polygon to approximation , in which the zeros of the control polygon are used to approximate the zeros of from one side. The method in Morken and Reimers (2007) achieves a convergence rate of 2 for a simple root. In principle, a B-spline (or Bézier) curve is bounded by the convex hull of its control polygon, the corresponding roots are then bounded by the roots of the convex hull. The corresponding approximation order of the approach using convex hull is 2 (Schulz, 2009). Comparing with the method in Morken and Reimers (2007), the r-clipping method in Bartoň and Jüttler (2007), Liu et al. (2009) bounds the zeros of by using the zeros of two bounding polynomials of degree r, which achieves a higher approximation order , where .
In principle, one can also use rational polynomials to bound for root finding. A rational quadratic polynomial has five free variables, which can achieve an approximation order 5 to . If two rational quadratics are utilized to bound , one can achieve a convergence rate of 5 for a simple root, which is much higher than that of 3 when using a quadratic clipping polynomial. However, in some cases when the curve is not convex within , the denominators of the rational quadratic polynomials for bounding may have one or more zeros within , which leads to a bad approximation effect between and its bounding polynomials.
A rational cubic polynomial, on the other hand, can approximate in a much better way than that of a rational quadratic polynomial, even in case that is not convex within the given interval . This paper presents a rational cubic clipping method which utilizes two rational cubic polynomials to bound for root-finding. The bounding rational cubics achieve the approximation order 7 to and the corresponding rational cubic clipping method can achieve a convergence rate of 7 for a simple root, which is much higher than that of 4 of previous cubic clipping methods. In addition, the method proposed in this paper directly constructs two rational cubic polynomials interpolating four positions and three derivatives of , which can bound in many cases and it leads to a much higher computation efficiency. Some numerical examples are provided to show both higher convergence rate and higher computation efficiency of the new method.
The remainder of this paper is organized as follows. Section 2 provides an outline of clipping methods. Section 3 illustrates the rational cubic clipping method for finding two bounding rational cubics in details. Numerical examples and some further discussions are provided in Section 4, and the conclusions are drawn at the end of this paper.
Section snippets
Outline of the clipping methods
Suppose that , , is the given polynomial of degree n. The basic idea of the clipping methods is to find two bounding polynomials, and then to clip off the subintervals containing no roots of by using the roots of the bounding polynomials. The clipping process continues until the lengths of the remaining subintervals are less than a given tolerance. Finally, the middle points of the remaining subintervals are recorded as the roots of .
The numerical convergence rate of a
Finding two rational cubics for bounding
For the sake of convenience, let Let . By substituting , we have that We also introduce Theorem 3.5.1 in page 67, Chapter 3.5 of Davis (1975) as follows.
Theorem 2 Let , , ⋯, be distinct points in , and , ⋯, be
Discussions and numerical examples
For the sake of convenience, let , and be the cubic clipping method in Liu et al. (2009), the rational cubic clipping method in this paper and the improved method in Remark 1, respectively. If there are many roots of within , both of and may converge very slowly. In this paper, at the beginning, if there are four or more zeros of the control polygon of (in Bézier form), or if the first clipping step fails to clip the given interval, we utilize these zeros to divide
Conclusions
This paper presents a rational cubic clipping method (denoted as ) for finding the roots of a polynomial within an interval, which can achieve a convergence rate of 7 for a single root by using rational cubic polynomials. Different from previous clipping methods in Bartoň and Jüttler (2007), Liu et al. (2009) for computing two bounding polynomials in time, directly constructs two rational cubic polynomials, which can be used to bound in many cases and leads to a
Acknowledgements
This research was partially supported by the Research Grants Council of Hong Kong Special Administrative Region, China (SRG #7004245), Defense Industrial Technology Development Program and the National Science Foundation of China (61370218, 61379072).
References (21)
- et al.
Computing roots of polynomials by quadratic clipping
Comput. Aided Geom. Des.
(2007) - et al.
Computing the minimum distance between a point and a NURBS curve
Comput. Aided Des.
(2008) - et al.
On the numerical condition of polynomials in Bernstein form
Comput. Aided Geom. Des.
(1987) - et al.
Fast approach for computing roots of polynomials using cubic clipping
Comput. Aided Geom. Des.
(2009) Bibliographies on roots of polynomials
J. Comput. Appl. Math.
(1993–2002)- et al.
Intersection problems
- et al.
Efficient isolation of polynomial's real roots
J. Comput. Appl. Math.
(2004) - et al.
Curve intersection using Bézier clipping
Comput. Aided Des.
(1990) Bézier clipping is quadratically convergent
Comput. Aided Geom. Des.
(2009)- et al.
Continuous collision detection for two moving elliptic disks
IEEE Trans. Robot.
(2006)
Cited by (8)
An improved rational cubic clipping method for computing real roots of a polynomial
2019, Applied Mathematics and ComputationRevisiting the problem of zeros of univariate scalar Béziers
2016, Computer Aided Geometric DesignCitation Excerpt :A hybrid of the convex hull, sharp bounds (Nairn et al., 2006) and quasi-interpolating bounds (Zhang and Wang, 2006) was used to refine the intervals. Recently, in 2015, Chen et al. (2015) improved the convergence rates achieved by Liu et al. (2009) by bounding the polynomial of interest by a pair of rational cubic polynomials. Our approach, as explained in Section 1.1 uses the fact that polynomials represented in the Bernstein–Bézier form admit efficient algorithms for polynomial multiplication and division (Buse and Goldman, 2007; Goldman, 2002).
Explicit formulae for progressively computing a real root of the smooth function
2021, Journal of Zhejiang University, Science EditionPiecewise quadratic bounding functions for finding real roots of polynomials
2021, Numerical Algebra, Control and OptimizationThe computation of multiple roots of a bernstein basis polynomial
2020, SIAM Journal on Scientific Computing
- ☆
This paper has been recommended for acceptance by Michael Floater.