Roots of a Polynomial System

Similar documents
The Numerical Solution of Polynomial Systems Arising in Engineering and Science

Homotopies and polynomial system solving I: Basic Principles

Tutorial: Numerical Algebraic Geometry

Solving Polynomial Systems by Homotopy Continuation

Analytical and Numerical Methods Used in Studying the Spatial kinematics of Multi-body Systems. Bernard Roth Stanford University

David Eklund. May 12, 2017

Rational Univariate Representation

Numerical Computations in Algebraic Geometry. Jan Verschelde

CUMBERLAND COUNTY SCHOOL DISTRICT BENCHMARK ASSESSMENT CURRICULUM PACING GUIDE

Numerical Algebraic Geometry and Symbolic Computation

Introduction to Numerical Algebraic Geometry

9th and 10th Grade Math Proficiency Objectives Strand One: Number Sense and Operations

Secondary Honors Algebra II Objectives

Tropical Algebraic Geometry 3

Algebra 2. Curriculum (384 topics additional topics)

Core A-level mathematics reproduced from the QCA s Subject criteria for Mathematics document

I can translate between a number line graph, an inequality, and interval notation.

Certified predictor-corrector tracking for Newton homotopies

Mathematics High School Functions

ESCONDIDO UNION HIGH SCHOOL DISTRICT COURSE OF STUDY OUTLINE AND INSTRUCTIONAL OBJECTIVES

Utah Math Standards for College Prep Mathematics

Algebra II Introduction 1

MATH Spring 2010 Topics per Section

KEMATH1 Calculus for Chemistry and Biochemistry Students. Francis Joseph H. Campeña, De La Salle University Manila

Check boxes of Edited Copy of Sp Topics (was 261-pilot)

Portable Assisted Study Sequence ALGEBRA IIB

1. Introduction. 2. Outlines

Analytic Trigonometry. Copyright Cengage Learning. All rights reserved.

MECH 314 Dynamics of Mechanisms February 17, 2011 Offset Slider Crank Analysis and Some Other Slider Systems

by Jerald Murdock, Ellen Kamischke, and Eric Kamischke An Investigative Approach

School District of Marshfield Course Syllabus

ACT MATH MUST-KNOWS Pre-Algebra and Elementary Algebra: 24 questions

PreCalculus. Curriculum (637 topics additional topics)

Algebra Topic Alignment

PreCalculus. Curriculum (447 topics additional topics)

Algebraic Curves. (Com S 477/577 Notes) Yan-Bin Jia. Oct 17, 2017

Solving Equations Quick Reference

MA 323 Geometric Modelling Course Notes: Day 07 Parabolic Arcs

MTH4101 CALCULUS II REVISION NOTES. 1. COMPLEX NUMBERS (Thomas Appendix 7 + lecture notes) ax 2 + bx + c = 0. x = b ± b 2 4ac 2a. i = 1.

Numerical Methods for Inverse Kinematics

Tennessee s State Mathematics Standards Precalculus

Common Core State Standards for Mathematics - High School

Precalculus. Precalculus Higher Mathematics Courses 85

Direct Position Analysis of a Large Family of Spherical and Planar Parallel Manipulators with Four Loops

CURRICULUM GUIDE. Honors Algebra II / Trigonometry

Columbus City Schools High School CCSS Mathematics III - High School PARRC Model Content Frameworks Mathematics - Core Standards And Math Practices

Math Common Core State Standards and Long-Term Learning Targets High School Algebra II

Algebra 2 Mississippi College- and Career- Readiness Standards for Mathematics RCSD Unit 1 Data Relationships 1st Nine Weeks

function independent dependent domain range graph of the function The Vertical Line Test

Math Review for AP Calculus

Math Prep for Statics

STATE COUNCIL OF EDUCATIONAL RESEARCH AND TRAINING TNCF DRAFT SYLLABUS.

Academic Outcomes Mathematics

PRECALCULUS. Changes to the original 2010 COS is in red. If it is red and crossed out, it has been moved to another course.

Algebra 2 and Mathematics 3 Critical Areas of Focus

Tropical Algebraic Geometry

Check boxes of Edited Copy of Sp Topics (was 217-pilot)

Prentice Hall Mathematics, Algebra Correlated to: Achieve American Diploma Project Algebra II End-of-Course Exam Content Standards

ACCRS/QUALITY CORE CORRELATION DOCUMENT: ALGEBRA II

correlated to the Washington D.C. Public Schools Learning Standards Algebra II

Trimester 1 Expectations CCSS covered Key Vocabulary Vertical Alignment

Mathematics High School Advanced Mathematics Plus Course

Parametric Curves. (Com S 477/577 Notes) Yan-Bin Jia. Oct 3, 2017

Solution of Nonlinear Equations

Mathematics AKS

WA State Common Core Standards - Mathematics

on Newton polytopes, tropisms, and Puiseux series to solve polynomial systems

Semidefinite Programming

Notes on Complex Analysis

Tennessee s State Mathematics Standards - Algebra II

Robotics I Kinematics, Dynamics and Control of Robotic Manipulators. Velocity Kinematics

PURE MATHEMATICS AM 27

Algebra II Learning Targets

A Blackbox Polynomial System Solver on Parallel Shared Memory Computers

Copyright 2018 UC Regents and ALEKS Corporation. ALEKS is a registered trademark of ALEKS Corporation. 2/10

Module 2: Reflecting on One s Problems

Lecture 13 - Wednesday April 29th

Mathematics Syllabus UNIT I ALGEBRA : 1. SETS, RELATIONS AND FUNCTIONS

MTH301 Calculus II Glossary For Final Term Exam Preparation

13 Path Planning Cubic Path P 2 P 1. θ 2

ELLIPTIC CURVES BJORN POONEN

Standards-Based Learning Power Standards. High School- Algebra

Algebra II/Math III Curriculum Map

Bernstein polynomials of degree N are defined by

Numerical Irreducible Decomposition

- 1 - Items related to expected use of technology appear in bold italics.

Algebra II Mathematics N-CN The Complex Number System

HOMEWORK 7 SOLUTIONS

PURE MATHEMATICS AM 27

CHINO VALLEY UNIFIED SCHOOL DISTRICT INSTRUCTIONAL GUIDE ALGEBRA II

SKILL BUILDER TEN. Graphs of Linear Equations with Two Variables. If x = 2 then y = = = 7 and (2, 7) is a solution.

Chapter 3a Topics in differentiation. Problems in differentiation. Problems in differentiation. LC Abueg: mathematical economics

The Geometry of Semidefinite Programming. Bernd Sturmfels UC Berkeley

Prep for College Algebra

Equations and Inequalities

Mathematics Standards for High School Precalculus

THE BKK ROOT COUNT IN C n. c e x e,

PRECALCULUS BISHOP KELLY HIGH SCHOOL BOISE, IDAHO. Prepared by Kristina L. Gazdik. March 2005

Homework. Basic properties of real numbers. Adding, subtracting, multiplying and dividing real numbers. Solve one step inequalities with integers.

Willmar Public Schools Curriculum Map

Transcription:

Roots of a Polynomial System (Com S 477/577 Notes) Yan-Bin Jia Sep 8, 017 Systems of polynomial equations show up in many applications areas such as robotics (kinematics, motion planning, collision detection, etc.), computer vision (object modeling, surface fitting, recognition, etc.), graphics, geometric modeling (curve and surface intersections), computer-aided design, mechanical design, and chemical equilibrium systems. In this lecture, we introduce a powerful technique that finds the roots of a polynomial system by tracking the solutions of nearby systems. Many problems in geometry and robot kinematics can be formulated in terms of trigonometric functions, which often can be converted to polynomials. Figure 1(a) shows a manipulator with two hand y (x 0, y 0 ) joint 1 (attached to table) y joint link 1 x link θ 1 l l 1 θ x (a) (b) Figure 1: A -linkage manipulator. links of lengths l 1 and l, respectively, and the first joint attached to a based on the table. The hand, or the end-effector, is located at the tip of the second link. A coordinate system is set up at the first joint with the x-axis parallel the table plane and the y-axis vertical to it. Part (b) of the figure abstracts the manipulator configuration, which is completely determined by the angles θ 1 and θ of the two joints. The end-effector is located at ( ) ( ) ( ) x0 cosθ1 cos(θ1 +θ ) = l 1 +l. (1) y 0 sinθ 1 sin(θ 1 +θ ) Determining the end-effector position of the manipulator from its joint angles is called the forward kinematics problem. Very often we want to move the end-effector to a specified location (x 0,y 0 ) T and thus need to know the joint angle values. In other words, we would like to solve the system (1) for θ 1 and θ. This is referred to as the inverse kinematics problem. One solution can be found from the 1

triangle defined by the origin (joint 1), joint, and (x 0,y 0 ). Apply the law of cosine to obtain the angle π θ between the two links, and the angle α between the first link and the edge joining the origin and (x 0,y 0 ). Then, θ 1 is the difference between the polar angle of (x 0,y 0 ) and α. The other solution, describing the symmetric pose of the arm drawn in dashed lines in Figure 1, easily follows from the first one. Alternatively, we can solve (1) by turning it into a polynomial system. Here is how. For k = 1, let us writec k for cosθ k and s k for sinθ k, and addthe equation c k +s k = 1. Theresultis aquadratic system in four variables c 1,s 1,c, and s : l 1 c 1 +l (c 1 c s 1 s ) = x 0, l 1 s 1 +l (s 1 c +s c 1 ) = y 0, c 1 +s 1 = 1, c +s = 1. From the values of c k and s k in a solution of the above system, we can uniquely determine θ k = atan(c k,s k ). There are two solutions of the system for the drawn end-effector position (x 0,y 0 ). This polynomial approach is more general than the trignometric one, and applicable to the inverse kinematics of a robotic arm with more than two links. 1 Multivariate Polynomial Systems We have already studied polynomials in one variable, and learned global root finding techniques like Müller s method. Now we look at how to solve multiple polynomial equations in the equal number of variables. First, we need to generalize the definition of a polynomial in one variable to that of one in multiple variables. A multivariate polynomial f(x 1,x,...,x n ) is a finite sum of terms c α x α 1 1 xα xαn n, where α 1,...,α n are non-negative integers, and c α is a coefficient with its index α denoting the vector (α 1,...,α n ). The term c α x α 1 1 xα xαn n is called a monomial. The degree of c α x α 1 1 xα xαn n is α 1 +α + +α n. The polynomial f has degree equal to the maximum degree of all of its monomials. A homogeneous polynomial is a sum of monomials of the same degree. Example 1. The real zeros (x,y) of the system x +y = 1, xy = c, () where c > 0, if exist, locate the intersections of the unit circle with a hyperbola. As shown in Figure, the situation depends on the value of c. Tosolvethesystem, wemultiply thesecondequationin ()with andaddthe resulttothe firstequation, obtaining x+y = ± 1+c. Then, substitute y = ± 1+c x into the second equation to obtain x. This yields four complex common roots: ( 1+c+ ) ( 1+c ) 1 c 1 c, 1+c 1 c ( 1+c+ 1 c, 1+c 1 c, ),, 1+c+ 1 c ( 1+c 1 c, 1+c+ 1 c We infer that the two curves do not intersect when c > 1, intersect at two points ( /, /) and ( /, /) when c = 1, or at the four points given in the equation when 0 < c < 1., ). (3)

c > 1 c = 1 0 < c < 1 xy = c x +y = 1 Figure : The unit circle x +y = 1 intersects a hyperbola xy = c, c > 0 at no point if c > 1, two points if c = 1, and four points if 0 < c < 1. The above example tells us that real zeros may or may not exist for a polynomial system, and in case they do, their vary in number. In the below, we will focus on finding all complex zeros, for which bounds and techniques are more established. Real zeros are easily selected out once all complex ones are found. Root Counting Considerageneralpolynomialsystemf(x) = 0, wheref = (f 1,f,...,f n ) T andx = (x 1,x,...,x n ). It is fully expanded below: f 1 (x 1,x,...,x n ) = 0, f (x 1,x,...,x n ) = 0, f n (x 1,x,...,x n ) = 0.. (4) The system, with as many equations as unknowns, is called a square polynomial system. Let d 1,...,d n be the degrees of f 1,...,f n, respectively. Theorem 1 (Bézout) [10] Unless f(x) has an inifite number of zeros, the number of its isolated zeros in C n, counting multiplicities, does not exceed the number d = d 1 d d n. The number d is called the Bézout number. It often turns out to be a rather loose bound. For example, the Cassou-Nogues system in four variables b, c, d, e below: 0 = 15b 4 cd +6b 4 c 3 +1b 4 c d 144b c 8b c e 8b cde 648b d+36b d e+9b 4 d 3 10, 3

0 = 30b 4 c 3 d 3cde 70b dc 4b c 3 e 43b c +576ce 576de+16b cd e+16d e +16c e +9b 4 c 4 +39b 4 c d +18b 4 cd 3 43b d +4b d 3 e 16b c de 40c+5184, 0 = 16b cd 16b d 81b c +1008ce 1008de+15b c de 15b c 3 e 80cde (5) +40d e +40c e +5184, 0 = 4b cd 3b d 4b c +ce de+61, is known to have 16 distinct zeros in the four-dimensional complex domain C 4, and only 4 distinct zeros in the four-dimensional real domain R 4. However, the Bézout number is 7 8 6 4 = 1344. A tighter bound was provided by Bernstein [3] based on the notion of mixed volume. Introduce the support S k of a polynomial f k in the system (4) as the set of the exponents of its monomials. To illustrate, we use an example from [] that deals with the following two-variable polynomial system: f 1 (x,y) = 3x 3 4x y +y +y 3, (6) f (x,y) = 6x 3 +xy 5y 3. The support S 1 of f 1 contains (3,0),(,1),(0,),(0,3), while the support S of f contains (3,0), (1,1), (0,3). The Newton polytope P k of f k is the convex hull of the support S k. Figure 3(a) and (0,3) (0,) (0,3) P1 P (,1) (1,1) (3,0) (3,0) (0,3)+(0,3) (0,)+(0,3) P 1 P (0,)+(1,1) (3,0)+(1,1) (3,0)+(3,0) (a) (b) (c) Figure 3: Newton polytopes (a) P 1 and (b) P and their Minkowski sum (c) P 1 P. (b) draws the Newton polytopes P 1 and P of f 1 and f, respectively. The Minkowski sum of the Newton polytopes P 1,...,P n for the polynomials f 1,...,f n is the set P 1 P n = {p 1 + p n p k P k,1 k n}. For system (6), the Minskowski sum of its Newton polytopes in Figure 3 (a) and (b) is shown in part (c). It is swept out by P with its upper vertex sliding along the boundary of P 1 followed by an upward translation of the whole swept area by 3. The volume of a general linear combination λ 1 P 1 λ P λ n P n, where λ 1,λ,...,λ n > 0, is a homogeneous polynomial in λ 1,λ,...,λ n. The coefficient of λ 1 λ λ n in this polynomial is called the mixed volume M of P 1,P,...,P n, or of the supports S 1,S,...,S n. Let C = C\0 be the set of all non-zero complex numbers. 4

Theorem (Bernstein, 1975) Suppose the polynomial system (4) has finitely many roots in (C ) n. Then the number of these roots is bounded from above by the mixed volume of its Newton polytopes P k, 1 k n. In fact, the root count equals the mixed volume provided that the polynomials are sufficiently generic. Here we are not going to make the meaning of generic exact. In practice, it is often assumed that the polynomials in a given system are generic. So the Bernstein bound turns out to be the exact root count. We denote by vol n the volume operator in R n. The mixed volume can be calculated as below [8, p. 140]: M(P 1,P ) = vol (P 1 P ) vol (P 1 ) vol (P ), M(P 1,P,P 3 ) = vol 3 (P 1 P P 3 ) vol 3 (P 1 P ) vol 3 (P P 3 ) vol 3 (P 3 P 1 ) M(P 1,...P n ) = +vol 3 (P 1 )+vol 3 (P )+vol 3 (P 3 ), n ( 1) n i i=1 (j 1,...,j k ) a combination of k indices from 1,...,n vol i (P j1 P ji ). For system (6) illustrated in Figure 3, P 1 and P each has volume (area) 3, and P 1 P has volume 7. Thus, the system has exactly 7 3 3 = 4 non-zero roots. Computation of the mixed volume is a combinatorial problem for which efficient methods have been developed. These methods are highly technical and beyond the scope of this course. Example. Let us apply Bernstein s theorem to the circle-hyperbola system () from Example 1. We let The supports are f 1 (x,y) = x +y 1, f (x,y) = xy c. S 1 = {(,0),(0,),(0,0)}, S = {(1,1),(0,0)}. The Newton polytope P 1 of S 1 is a triangle with area, while P of S is a line segment with length and zero area. (1, 3) (0, ) P 1 P (3, 1) (, 0) Figure 4: Minkowsky sum P 1 P. 5

It is easy to see that P 1 P is a pentagon that is the union of P 1 with the rectangle swept out by P in translation as its lower vertex (0,0) moves along the tilted edge of P 1 connecting (,0) and (0,). The rectangle has area = 4, which is the Bernstein count. The system has exactly four complex roots given in (3). 3 Homotopy Continuation Solution of polynomial systems has been active in computer algebra and computational algebraic geometry. Well-known symbolic techniques include Gröbner basis [5], which can be viewed as a multivariate, non-linear generalization of both Euclid s algorithm and Gaussian elimination for linear systems; the resultant method [11], which performs variable elimination via construction of matrices and determinants; and Wu s method [14], which is based on polynomial division and the concept of characteristic set. Though capable of finding accurate zeros, these methods are computationally expensive in both time and space. Numerical root finding methods such as Newton s give up exactness for efficiency. With only local convergence, they are quite sensitive to initial values, which sometimes have to be picked at random in repeated trials due to lack of prior information. Here we will describe the homotopy continuation method credited to Garcia and Zangwill [4]. This method solves a polynomial system f by tracking the solution of the nearby systems. The idea is to construct a parametrized family of polynomial systems such that at one endpoint of the parametrization interval is f to be solved while at the other endpoint is a system g with known zeros. As the parameter value varies across the domain, the system g morphs into the system f. During the period, the solution is tracked from a known one to g across all systems in the family to reach a solution to f. To make the above idea more concrete, let us assume that we can solve g(x) = g 1 (x). g n (x) = 0. (7) We form the homotopy 1 h(x,t) = tf(x)+(1 t)g(x), (8) where t [0,1]. Note that h(x,0) = g(x) and h(x,1) = f(x). For every root x 0 of (7), the equation h(x,t) = 0 implicitly defines a curve x = x(t) over [0,1] that is the homotopy evolution of x 0 toward some root x = x(1) of f(x) = 0. See Figure 5 for a plot. This is one solution curve to the family of equations h(x,t) = 0 parametrized with t. Starting at t = 0 and x(0) = x 0, we would like to stay on the solution curve x(t) such that h(x,t) = 0 holds for any t value we step over, until t = 1 is reached. This is conducted via numerically solving the following ordinary differential equation (ODE): dh(x, t) dt 1 There are many other homotopies. For example, the mathematics software Maple uses h(x,t) = (1 (1 t) )f(x)+(1 t) g(x). 6 = 0,

x integration x k+1 Newton s method x (f(x ) = 0) x k x k+1 x 0 (g(x 0 ) = 0) 0 k k+1 t 1 m m Figure 5: Homotopy continuation method. with the initial value x(0) = x 0. Expand the left hand side of the above equation: where h x = h 1 h 1 x 1 h h x 1. h n x 1 h x dx dt + h t = 0, x h 1 x n h x n x..... h n x h n x n and Assuming the matrix to be invertible at the current t value, we obtain h t = f g. ( ) dx h 1 dt = h x t. (9) Integrate dx/dt over t on [0,1] starting with x 0. We choose a step size 1 m for some large integer m > 0. Denote by x k the estimate of x( k m ). One step of Euler s integration method yields x k+1 = x k + 1 ( ) dx k m dt m = x k 1 m ( h x) 1 (xk,k/m) h t (10) (xk,k/m). The obtained x k+1 is an estimate for the ordinate of the point on the solution curve x(t) at t = k+1 m in Figure 5, in other words, for the root of the system h(x,(k + 1)/m) = 0. It is then polished using Newton s method over this system as follows. Set y 0 = x k+1. The iteration formula is ( h 1 y l+1 = y l h x) (yl,(k+1)/m). (11) (yl,(k+1)/m) 7

Assign the polished value to x k+1. Figure 5 illustrates the working of the algorithm. Starting at a zero x 0 of g(x), the drawn solution path is part of the zero set h 1 (0) of h(x,t). It is referred to as a homotopy curve. The algorithm is essentially a predictor-corrector method. Euler s integration (10) serves as the predictor to yield a new approximate point along the homotopy curve. Newton s method (11) serves as the corrector to bring this new point very close to the curve through an iterative polishing process. Example 3. Let us illustrate the algorithm over the system (6). By Bernstein s theorem, it has exactly four non-zero complex roots. Using the following start system: we define g 1 (x,y) = x 3 1, g (x,y) = y 3 1, h 1 (x,y,t) = tf 1 (x,y)+(1 t)g 1 (x,y), h (x,y,t) = tf (x,y)+(1 t)g (x,y), with t [0,1]. The system g(x,y) = 0 has a total of nine complex zeros: ( (x,y) = cos jπ ) jπ kπ kπ +isin,cos +isin, j,k = 0,1,. 3 3 3 3 Starting with these nine zeros, the PHCpack software [1] implementing the homotopy continuation method finds all four roots: ( 0.03169500710798 + 0.1811376586737i, 0.1104690386809 0.0456543983804i), ( 0.03169500710798 0.1811376586737i, 0.1.104690386809 + 0.0456543983804i), (0.411875744374350 0.10485355000i 0.16749001453640 0.33145613080015i), (0.411875744374350 + 0.10485355000i 0.16749001453640 + 0.33145613080015i). 3.1 Completeness and Start System The fundamental result on homotopy continuation is from [4, 6]. Choose the start system g(x) = 0 which consists of equations g k (x 1,...,x n ) = x d k+1 k c k, 1 k n, where c 1,...,c n are complex numbers. By separating the real part of a complex number from its imaginary part, we can represent h = ( h/ x, h/ t) as a n (n+1) matrix. Theorem 3 (Garcia and Zangwill, 1975) If, for all x C n, t [0,1], 1. f(x) = 0 implies that f(x) is non-singular, and. h(x,t) = 0 implies that h(x,t) has rank n, then all solutions to f(x) = 0 can be found by tracking the homotopy curves. 8

The choice of g leads to generation of some spurious homotopy paths whose total number (d 1 +1)(d +1) (d n +1) exceeds the maximum number d 1 d d n of zeros by Bézout s theorem. Garcia also made the observation that with the alternate choice g k = x d k k c k, 1 k n, (1) the algorithm will work in many cases. The resulting system g(x) = 0 produces d = d 1 d n paths, the same number as Bézout s upper bound on the number of isolated zeros of f(x). We hope that the homotopy paths x(t) starting at these d zeros of g will lead to all zeros of f, as t increases from 0 to 1. Generally, the start system g should be chosen to satisfy the following three properties [13]. Triviality. The zeros of g are known. Smoothness. The zero set h 1 (0) of h(x,t) consists of a finite number of smooth homotopy curves over [0, 1]. Accessibility. Every isolated zero of h(x,1) = f(x) = 0 can be reached by some path originating at a zero of h(x,0) = g(x) = 0. The choice of g according to (1) satisfies all three properties. Under the choice, the system produces d paths. Assuming no path diverges, multiple of these paths may converge to one zero of f if f has less than d zeros. 3. Pitfalls We use an example from [6] to show that singularities in homotopy paths can break the root finding method. The example is concerned with a univariate polynomial: Our first choice for g is f(x) = x +1. g(x) = x c, where c is a non-zero complex number. The choice yields h(x,t) = (1 t)(x c)+t( x +1). (13) We solve this quadratic system algebraically and find that vanishing of h(x, t) happens when either t = 0 and x = c, or x = 1 ( (1 t)± ) (1 t) t 4ct(1 t)+4t. Take the limit of the above expressions: lim x = t 0 {, if + is selected; c, if is selected. The + and signs respectively specify two branches of h 1 (0) that are drawn in Figure 6(a). It is f. It was not a coincidence that in Example 3 we chose g 1 and g to be polynomials of the same degrees as f 1 and 9

zero of x c c 1 zeros of 1 x 1 c zeros of x c c 1 zeros of 1 x 1 1 t = 0 1 0 1 (a) (b) Figure 6: Graphs of the solution set h 1 (0) with singularities: (a) system (13) and (b) system (14). clear that the upper homotopy curve of the zero set will never be stepped on with the choice of g. Now, let us consider a second choice: with c 1. Here, g(x) = x c, h(x,t) = (1 t)(x c)+t( x +1). (14) It can be shown that four branches of h 1 (0) exist as illustrated in Figure 6(b). No solution to g(x) = 0 will connect to a solution to f(x) = 0. All four branches become unbounded as t 1. The partial derivative h x = x(1 t) xt is zero at the singular point t = 1. It cannot be inverted to compute dx dt according to (9). As a result, the two homotopy paths starting at t = 0 will not cross the line t = 1. The homotopy continuation method will not find a single root of f with the choice of g. Overall, the homotopy continuation method is a powerful exhaustive solver. It is numerically stable, has global convergence, and can find multiple solutions. References [1] Eugene L. Allgower and Kurt Georg. Numerical Continuation Methods: an Introduction. Springer-Verlag, 1990. [] Max Buot and Donald Richards. Homotopy Continuation. Online PowerPoint notes, 005. [3] D. Bernstein. The number of roots of a system of equations. Functional Analysis and Its Applications, 9:183 185, 1975. [4] C. B. Garcia and W. I. Zangwill. Finding all solutions to polynomial systems and other systems of equations. Mathematical Programming, 16:159-176, 1979. 10

[5] D. Lazard. GrÖbner bases, Gaussian elimination and resolution of systems of algebraic equations. Proceedings of the European Computer Algebra Conference on Computer Algebra, pp. 146 156, 1983. [6] Alexander P. Morgan. A method for computing all solutions to systems of polynomial equations. ACM Transactions on Mathematical Software, 9(1):1 17, 1983. [7] Alexander Morgan. Solving Polynomial Systems Using Continuation for Engineering and Scientific Problems. Prentice-Hall, Inc., 1987. [8] Andrew J. Sommese and Charles W. Wampler. The Numerical Solution of Systems of Polynomials Arising in Engineering and Science. World Scientific Publishing Co. Pte. Ltd., 005. [9] S. Petitjean. Algebraic geometry and computer vision: polynomial systems, real and complex roots. Journal of Mathematical Imaging and Vision, 10:1 3, 1999. [10] B. Sturmfels. Polynomial equations and convex polytopes. The American Mathematical Monthly, 105(10):907 9, 1998. [11] B. L. van der Waerden. Algebra, vol. 1. Springer-Verlag, 1991. [1] Jan Verschelde. Algorithm 795: PHCpack: a general-purpose solver for polynomial systems by homotopy continuation. ACM Transactions on Mathematical Software, 5():51 76, 1999. http://homepages.math.uic.edu/~jan/phcpack/phcpack.html. [13] Weiran Wang. A Review on Homotopy Continuation Methods for Polynomial Systems. https://eng.ucmerced.edu/people/wwang5/misc/phc.pdf. [14] W.-T. Wu. On the decision problem and the mechanization of theorem-proving in elementary geometry. In W. Bledsoe and D. Loveland, ed., Automated Theorem Proving: After 5 Years, pp. 13-34. American Mathematical Society, 1983. 11