Computing Roots of Polynomials using Bivariate Quadratic Clipping

1 downloads 0 Views 82KB Size Report
Computing Roots of Polynomials using Bivariate Quadratic Clipping. Brian Moore and Bert Jüttler. Abstract. The paper presents a new algorithm to compute all ...
.

Computing Roots of Polynomials using Bivariate Quadratic Clipping Brian Moore and Bert J¨ uttler Abstract. The paper presents a new algorithm to compute all real roots of a system of two bivariate polynomial equations over a given domain. Using the Bernstein-B´ezier representation, we compute the best linear approximant and the best quadratic approximant of the two polynomials with respect to the L2 norm. Using these approximations and bounds on the approximation errors, we obtain a linear strip bounding the first polynomial and a quadratic strip bounding the second polynomial. By intersecting these strips, we obtain a new reduced subdomain enclosing the roots. This algorithm is combined with bisection steps, in order to isolate the roots. It is applied iteratively until a certain accuracy is obtained. Experimental results are also presented. Mathematics Subject Classification (2000). Primary 12D10; Secondary 65H20. Keywords. Polynomial systems, root solver, algebraic curves intersection, Bezier clipping, quadratic clipping.

1. Introduction Solving systems of polynomial equations is a crucial problem in many engineering disciplines, including computer-aided design, robotics and manufacturing. Many different approaches can be used to solve such problems [3]. In this paper, we focus on numerical solvers to find all real solutions on a given interval, more specifically, methods based on the Bernstein-B´ezier representation of polynomials. The main idea is to take advantage of the geometrical properties of the BernsteinB´ezier representation, especially the property that the curves lies within the convex hull defined by its control points. Among these methods, the interval projected polyhedron (IPP) algorithm [5] reformulates the problem of solving a system of polynomial equations into the problem of solving a set of univariate polynomial systems. Various improvements of the IPP method using preconditioning have been described in [4]. The method presented in this paper to solve a bivariate system of algebraic equations is based on the approach developed by Barto˘ n and J¨ uttler [1, 2]. They Both authors were partly supported by the Austrian Science Fund (FWF) through SFB F013 “Numerical and Symbolic Scientific Computing”, subproject 15 and 3 respectively. The first author was also partly supported by the “Fonds Qu´ eb´ ecois de Recherche sur la Nature et les Technologies”.

2

Brian Moore and Bert J¨ uttler

compute the best linear approximants of the two polynomials (using L2 norm) in order to bound these two polynomials between two linear strips. By intersecting these strips, they can compute a reduced subdomain in which the root lies. In this paper, we use one linear and one quadratic approximant as well as a preprocessing step to increase the convergence rate.

2. The bivariate quadratic clipping algorithm Let f, g ∈ R[x, y], two polynomials expressed in Bernstein-B´ezier form over a given domain D = [α1 , β1 ] × [α2 , β2 ]

(2.1)

The aim is to find all real solutions of the following system of equations:  f (x, y) = 0 g(x, y) = 0

(2.2)

within the domain D. For ǫ, a given required accuracy, the solutions will be given in form of domains of maximum diagonal 2ǫ containing the roots. Given two polynomials f and g, a domain D and a required accuracy ǫ, the bivariate quadratic clipping algorithm (BQC) computes a subdomain D′ ⊆ D where the roots lies. This algorithm is applied iteratively until all real roots are found. If the BQC algorithm fails to reduce the domain, we use bisection to subdivide the domain into four subdomains. This bisection step is also essential for separating roots. The three main step of the BQC algorithm will be now described in more detail. 2.1. Step 1: Preprocessing The aim of the preprocessing step is to increase the convergence rate of the method. This is achieved by replacing the polynomial equation f by f ′ , an affine combination of f and g. Let (xc , yc ) be the center of the domain D. Let ρ = ρ0 + ρx x + ρy y, a linear polynomial in x, y and ρ0 , ρx , ρy ∈ R. Let f ′ = ρf + (1 − ρ)g be an affine combination of f and g. The goal is to find ρ0 , ρx , ρy such that the Hessian of f ′ vanishes in the center of the interval, i.e.: ∂2f ′ (xc , yc ) = 0, ∂x2

∂2f ′ (xc , yc ) = 0, ∂x∂y

∂2f ′ (xc , yc ) = 0 ∂y 2

This gives a linear system of 3 equations in ρ0 , ρx , ρy . By solving this linear system, we can determine f ′ . The new sytem of algebraic equations to be solved is:  f ′ (x, y) = 0 (2.3) g(x, y) = 0

Computing Roots of Polynomials using Bivariate Quadratic Clipping

x −0.4

−0.3

3

x −0.2

−0.1

−0.4

−0.3

−0.2

−0.1

−0.525

−0.525

−0.55

−0.55

−0.575y

−0.575y

−0.6

−0.6

−0.625

−0.625

Figure 1. Reduced bounding box 2.2. Step 2: Computation of the best Linear and Quadratic Approximation The best linear approximation ˆl of f ′ with respect to the L2 norm can be found using a linear approximation operator as described in [2]. Using degree elevation on ˆl and taking the maximum distance between the control points of f ′ and ˆl, a bound for the error can be obtained. The same approach is used to compute the best quadratic approximation qˆ of g and a bound on the approximation error. 2.3. Step 3: Computation of the new Subdomain Using linear approximation, we could bound the graph of f ′ (ie: z = f ′ (x, y)) between two planes and the graph of g (ie: z = g(x, y)) between two quadrics. Intersecting with the plane z = 0, f ′ is bounded by two lines and g by two conics as shown in figure 2.3 (left picture). The aim is to compute the smallest sub-domain D′ of D (rectangular box with horizontal and vertical sides) which contains the intersection of the two strips as shown in figure 2.3 (right picture). The subdomain D′ can be found by computing the following critical points within the domain D: T1: The corners of the domain D T2: The intersection points between the domain boundaries and the lines T3: The intersection points between the domain boundaries and the conics T4: The intersection points between the lines and the conics T5: The x-critical and y critical points on the conics First, remark that the points of type T4 are always in D′ . For the points of type T3 and T5, the points are kept only if they lie between the lines. Similarly, for the point of type T2, we have only to check if they are between the conics. For the points of type T1, we have to check that they are both between the lines and between the conics. By taking the minimum-maximum on x and y of all remaining critical points, we obtain the smallest subdomain containing the intersection of the strips.

4

Brian Moore and Bert J¨ uttler

3. Experimental results and robustness According to our experimental results, the method compares well with other exisiting techniques. This is particularly true for root clusters consisting of two neighbouring roots and double roots, where our method is still able to a achieve superlinear convergence rate. In order to improve the robustness, the method can be extended by clipping away only regions where the corresponding BB representation does not have any sign changes. More precisely, the procedure described in the previous section is used to identify the next candidate box containing the roots. While generating the BB representation with respect to that box, we also compute the BB representations of the other boxes surrounding it. We keep regions where the two polynomials exhibit sign changes in the coefficients and analyze them further. Since the subdivision via de Casteljau’s algorithm is numerically stable, this provides a robust version of the new root finding algorithm.

References [1] M. Barto˘ n and B. J¨ uttler, Computing roots of polynomials by quadratic clipping. Computer Aided Geometric Design (2007), 24(3), 125–141. [2] M. Barto˘ n and B. J¨ uttler, Computing Roots of Systems of Polynomials by Linear Clipping. SFB F013 Technical Report (2007). [3] A. Dickenstein and I. Z. Emiris Editors, Solving Polynomial Equations. Algorithm and Computation in Mathematics, Volume 14, Springer (2005). [4] B. Mourrain and J.-P. Pavone, Subdivision methods for solving polynomial equations. Technical Report no. 5658, INRIA Sophia Antipolis (2005). [5] E.C. Sherbrooke and N. M. Patrikalakis, Computation of the Solutions of non-linear polynomial systems. Computer Aided Geometric Design (1993), 10(5), 379–405. Brian Moore Johann Radon Institute for Computational and Applied Mathematics (RICAM) Austrian Academy of Sciences Altenberger Straße 69 A-4040 Linz, Austria e-mail: [email protected] Bert J¨ uttler Johannes Kepler University Institute of Applied Geometry Altenberger Straße 69 A-4040 Linz, Austria e-mail: [email protected]