3264 Conics in a Second

Paul Breiding, Bernd Sturmfels, and Sascha Timme

This article and its accompanying web interface present infinity, provided 퐴 and 푈 are irreducible and not multi- Steiner’s conic problem and a discussion on how enumerative ples of each other. This is the content of B´ezout’s theorem. and numerical complement each other. To take into account the points of intersection at infinity, The intended audience is students at an advanced under- algebraic geometers like to replace the affine plane ℂ2 with 2 grad level. Our readers can see current computational the complex ℙℂ. In the following, when tools in action on a geometry problem that has inspired we write “count,” we always mean counting solutions in scholars for two centuries. The take-home message is that . Nevertheless, for our exposition we work numerical methods in algebraic geometry are fast and reli- with ℂ2. able. A solution (푥, 푦) of the system 퐴 = 푈 = 0 has multiplic- We begin by recalling the statement of Steiner’s conic ity ≥ 2 if it is a zero of the Jacobian determinant 2 problem. A conic in the plane ℝ is the set of solutions to 휕퐴 휕푈 휕퐴 휕푈 2 ⋅ − ⋅ = 2(푎1푢2 − 푎2푢1)푥 a quadratic equation 퐴(푥, 푦) = 0, where 휕푥 휕푦 휕푦 휕푥 (3) 2 2 +4(푎1푢3 − 푎3푢1)푥푦 + ⋯ + (푎4푢5 − 푎5푢4). 퐴(푥, 푦) = 푎1푥 + 푎2푥푦 + 푎3푦 + 푎4푥 + 푎5푦 + 푎6. (1) Geometrically, the conic 푈 is tangent to the conic 퐴 if (1), If there is a second conic (2), and (3) are zero for some (푥, 푦) ∈ ℂ2. For instance, Fig- 2 2 푈(푥, 푦) = 푢1푥 + 푢2푥푦 + 푢3푦 + 푢4푥 + 푢5푦 + 푢6, (2) ure 1 shows a red ellipse and five other blue conics, which then the two conics intersect in four points in ℂ2, count- are tangent to the red ellipse. Steiner’s conic problem asks ing multiplicities and counting intersections at points at the following question: How many conics in the plane are tangent to five Paul Breiding is a postdoctoral researcher at Technische Universität Berlin. His given conics in ? email address is [email protected]. The number is five, because each tangency condition re- Bernd Sturmfels is a director of the Max Planck Institute for Mathematics in moves one of the five degrees of freedom in a conic. the Sciences, Leipzig, and a professor of mathematics, statistics, and computer science at University of California, Berkeley. His email address is bernd@mis The present article concerns the following two subject .mpg.de. areas and how they approach Steiner’s problem: Sascha Timme is a PhD candidate at Technische Universität Berlin. His email Enumerative algebraic geometry: address is [email protected]. How many conics are tangent to five conics? Communicated by Notices Associate Editor Daniel Krashen. Numerical algebraic geometry: For permission to reprint this article, please contact: How do we find all conics tangent to five conics? [email protected]. The first question is the original conic problem, first asked DOI: https://doi.org/10.1090/noti2010 in 1848 by Steiner, who suggested the answer 7776. That

30 NOTICES OF THE AMERICAN MATHEMATICAL SOCIETY VOLUME 67, NUMBER 1 푎1, … , 푎6, 푢1, … , 푢6 of 퐴 and 푈: 4 2 2 4 4 2 2 3 풯(퐴, 푈) = 256푎1푎3푢3푢6 − 128푎1푎3푢3푢5푢6 4 2 4 2 4 2 2 4 (5) + 16푎1푎3푢5 푢6 + ⋯ + 푎5 푎6푢1푢2. The polynomial 풯 is a sum of 3210 terms. It is of degree six in the variables 푎1, … , 푎6 and of degree six in 푢1, … , 푢6. Known classically as the tact invariant, it vanishes precisely when the two conics are tangent. If the coefficients are general, we can assume that each conic 푈 that is tangent to 퐴, 퐵, 퐶, 퐷, 퐸 has nonzero con- stant term 푢6. We can then set 푢6 = 1. Steiner’s problem for the conics 퐴, 퐵, 퐶, 퐷, 퐸 now translates into a system of five polynomial equations in five unknowns, 푢1, 푢2, 푢3, 푢4, 푢5. Each of the five tangency constraints is an equation of degree six: 풯(퐴, 푈) = 풯(퐵, 푈) = ⋯ = 풯(퐸, 푈) = 0. (6) Steiner used B´ezout’s theorem to argue that these equa- tions have 65 = 7776 solutions. However, this number overcounts, because there is a Veronese surface of extraneous Figure 1. The red ellipse is tangent to four blue ellipses and solutions 푈, namely, the squares of linear forms. These de- one blue hyperbola. generate conics have the form 푈(푥, 푦) = (푥, 푦, 1) ⋅ ℓ푇 ℓ ⋅ (푥, 푦, 1)푇 , number turned out to be incorrect. In the year 1864 3264 3 Chasles gave the correct answer of . This was further where ℓ = (ℓ1, ℓ2, ℓ3) is a row vector in ℂ . Since 푈(푥, 푦) = 2ᵆ ᵆ ᵆ developed by Schubert, whose 1879 book led to Hilbert’s 1 2 4 푇 (푥, 푦, 1) ( ᵆ2 2ᵆ3 ᵆ5 ) (푥, 푦, 1) , the condition for 푈 to be a 15th problem and thus to the twentieth-century develop- ᵆ4 ᵆ5 2ᵆ6 ment of enumerative algebraic geometry. The number square is equivalent to 3264 appears prominently in the title of the textbook by 2푢 푢 푢 Eisenbud and Harris [EH16]. A delightful introduction 1 2 4 rank ( 푢 2푢 푢 ) ≤ 1. (7) to Steiner’s problem was presented by Bashelor, Ksir, and 2 3 5 푢 푢 2푢 Traves in [BKT08]. 4 5 6 Numerical algebraic geometry is a younger subject. It This discussion leads us to the following algebraic refor- started about forty years ago, going back at least to [GZ79]. mulation of Steiner’s conic problem: The textbook by Sommese and Wampler [SW05] is a stan- Find all solutions 푈 of the equations (6) dard reference. It focuses on numerical solutions to poly- (8) nomial equations. The field is now often seen as a branch such that the matrix in (7) has rank ≥ 2. of applied mathematics. But, as we demonstrate in this Ronga, Tognoli, and Vust [RTV97] proved the existence article, its methodology can be used in pure mathemat- of five real conics whose 3264 conics all have real coeffi- ics too. cients. In their argument they do not give an explicit in- An instance of our problem is given by a list of 30 = 5×6 stance but rather show that in the neighborhood of some coefficients in ℝ or ℂ: particular conic arrangement there must be an instance that has all of the 3264 conics real. Hence, this raises the 2 2 퐴(푥, 푦) = 푎1푥 + 푎2푥푦 + 푎3푦 + 푎4푥 + 푎5푦 + 푎6, following problem: 2 2 퐵(푥, 푦) = 푏1푥 + 푏2푥푦 + 푏3푦 + 푏4푥 + 푏5푦 + 푏6, Find an explicit instance 퐴, 퐵, 퐶, 퐷, 퐸 such 퐶(푥, 푦) = 푐 푥2 + 푐 푥푦 + 푐 푦2 + 푐 푥 + 푐 푦 + 푐 , (9) 1 2 3 4 5 6 (4) that the 3264 solutions 푈 to (8) are all real. 2 2 퐷(푥, 푦) = 푑1푥 + 푑2푥푦 + 푑3푦 + 푑4푥 + 푑5푦 + 푑6, Using numerical algebraic geometry we discovered the 퐸(푥, 푦) = 푒 푥2 + 푒 푥푦 + 푒 푦2 + 푒 푥 + 푒 푦 + 푒 . 1 2 3 4 5 6 solution in Figure 2. We claim that all the 3264 conics that are tangent to those five conics are real. By eliminating the two unknowns 푥 and 푦 from the three equations (1), (2), and (3), we can write the tangency Proposition 1. There are 3264 real conics tangent to those condition directly in terms of the 12 = 6 + 6 coefficients given by the 5 × 6 matrix in Figure 2.

JANUARY 2020 NOTICES OF THE AMERICAN MATHEMATICAL SOCIETY 31 10124547 8554609 5860508 −251402893 −25443962 1 ⎡ 662488724 755781377 2798943247 1016797750 277938473 ⎤ 푎 푎 푎 푎 푎 푎 ⎢ 520811 2183697 9030222 −12680955 −24872323 ⎥ ⎡ 1 2 3 4 5 6⎤ ⎢ 1⎥ 푏1 푏2 푏3 푏4 푏5 푏6 1788018449 542440933 652429049 370629407 105706890 ⎢ ⎥ ⎢ 6537193 −7424602 6264373 13097677 −29825861 ⎥ ⎢푐1 푐2 푐3 푐4 푐5 푐6 ⎥ = ⎢ 1⎥ . ⎢ ⎥ ⎢ 241535591 363844915 1630169777 39806827 240478169 ⎥ 푑 푑 푑 푑 푑 푑 13173269 4510030 2224435 33318719 92891037 ⎢ 1 2 3 4 5 6⎥ ⎢ 1⎥ ⎣푒1 푒2 푒3 푒4 푒5 푒6 ⎦ ⎢ 2284890206 483147459 588965799 219393000 755709662 ⎥ ⎢ 8275097 −19174153 5184916 −23713234 28246737 ⎥ 1 ⎣ 452566634 408565940 172253855 87670601 81404569 ⎦ Figure 2. The five conics from Proposition 1.

open source Julia package described in [BT18]. Those playing with the web interface need not worry about the inner workings. But, if you are curious, please read our section titled “How Does This Work?” Shortly after the user submits their instance, by entering real coefficients, the web interface reports whether thein- stance was generic enough to yield 3264 distinct complex solutions. These solutions are computed numerically. The Figure 3. The five blue conics in the central picture are those browser displays the number of real solutions, along with in Proposition 1. Shown in red is one of the 3264 real conics a picture of the instance and a rotating sample of real so- that are tangent to the blue conics. Each blue conic looks like lutions. As promised in our title, the computation of all a pair of lines, but it is a thin hyperbola whose branches are close to each other. The two pictures on the sides show solutions takes only around one second. closeups around two of the five points of tangency. The red Remark 2. We always assume that the five given conics are conic is tangent to one of the two branches of the blue 3264 hyperbola. real and generic. This ensures that there are complex solutions, and these conics are tangent to the given conics We provide an animation showing all the 3264 real con- at 5 × 3264 distinct points. The number of real solutions ics of this instance at this URL: is even, and our web interface displays them sequentially. www.juliahomotopycontinuation.org/3264/. For every real solution, the points of tangency on the given conics are also real. This fact uses the genericity assumption, since The construction of our example originates from an ar- two particular real conics can be tangent at two complex rangement of double lines, which we call the pentagon con- conjugate points. For instance, the conics defined by 푥2 − struction. One can see the pentagon in the middle of Fig- 푦2 + 1 and 푥2 − 4푦2 + 1 are tangent at the points (푖 ∶ 0) and ure 3. There are points where the red conic seems to inter- (−푖 ∶ 0) where 푖 = √−1. sect a blue line, but they are actually points where the red conic touches one branch of a blue hyperbola. See [Sot] Figure 4 shows what the input and the visual output for further details. of our web interface look like. The user inputs five con- Later we shall discuss the algebro-geometric meaning ics, and the system shows these in blue. After the user of the pentagon construction, and we present a rigorous clicks the “compute” button, it responds with the number computer-assisted proof that indeed all of the 3264 conics of complex and real conics that were found. The 3264 con- tangent to our five conics are real. But, first, let us intro- ics, along with all points of tangency, are available to the duce our web browser interface. user upon request. The real conics are shown in red, as seen on the right in Figure 4. Do It Yourself When seeing this output, the user might ask a number In this section we invite you, the reader, to choose your of questions. For instance, among the real conics, how own instance of five conics. We offer a convenient way for many are ellipses and how many are hyperbolas? Our web you to compute the 3264 complex conics that are tangent interface answers this question. The distinction between to your chosen conics. Our web interface for solving in- ellipses and hyperbolas is characterized by the eigenvalues stances of Steiner’s problem is found at of the real symmetric matrix juliahomotopycontinuation.org/diy/. (10) 2푢 푢 ( 1 2 ) . Here you can type in your own 30 = 5 × 6 coefficients for 푢2 2푢3 the conics in (4). After specifying five conics, you press If the two eigenvalues of this matrix have opposite signs, a button and this calls in the numerical algebraic geom- then the conic is a hyperbola. If they have the same sign, etry software HomotopyContinuation.jl. This is the then the conic is an ellipse. Among the ellipses, we might

32 NOTICES OF THE AMERICAN MATHEMATICAL SOCIETY VOLUME 67, NUMBER 1 5 conics. This space is the blow-up of ℙℂ at the locus of double lines. It is a compactification of the space of nonsingular conics that has desirable geometric proper- ties. A detailed description of this construction, suitable for a first course in algebraic geometry, can be found in [BKT08, §5.1]. In order to answer enumerative geometry questions about the space of complete conics, one considers its Chow ring, as explained in [BKT08, §5.2]. Elements in the Chow ring of the space of complete conics correspond to subvarieties of this space—more precisely, to classes of subvarieties. Two subvarieties belong to the same class if and only if they are rationally equivalent. Rational equiv- alence is a technical concept. We refer interested read- ers to the textbook by Eisenbud and Harris [EH16]. The Chow ring for the space of complete conics is worked out in [EH16, §8.2.4]. Nevertheless, the idea behind studying Chow rings is crystal clear: taking intersections of varieties is translated to multiplication in the Chow ring. In the remainder of this section we will see this in action. The Chow ring of the space of complete conics contains two special classes 푃 and 퐿. The class 푃 encodes the conics passing through a fixed point, while the class 퐿 encodes the conics tangent to a fixed line. The following relations hold in the Chow ring:

푃5 = 퐿5 = 1, 푃4퐿 = 푃퐿4 = 2, 푃3퐿2 = 푃2퐿3 = 4.

Figure 4. Input and output of the web interface (10). These relations are derived in [BKT08, §§4.4–5.3]. For instance, the first equation means that if we take five gen- ask for the solution that looks most like a circle. Our pro- eral conics passing through a fixed point, then the intersec- 2 2 gram does this by minimizing the expression (푢1−푢3) +푢2. tion contains one point (namely, the point we fixed in the Users with a numerical analysis background might be in- first place). See [BKT08, Table 3] for the geometric mean- terested in maximizing the distance to the degenerate con- ing of the other equations. ics. Equivalently, we ask: Among all 3264 solutions, which We write 퐶 for the class of conics that are tangent to a 3 × 3 matrix in (7) has the smallest condition number? given conic. In the Chow ring, we have You can adapt all of this for your favorite geometry problems. As pointed out above, the Julia package 퐶 = 2푃 + 2퐿. HomotopyContinuation.jl is available to everyone— follow the link at [BT18]. This may enable you to solve This identity is derived in [BKT08, equation (8)]. Our pre- your own polynomial systems in record time. ferred proof is to inspect the first three terms in the expres- sion (5) for the tact invariant 풯(퐴, 푈): Chow Rings and Pentagons 풯 = 16 ⋅ 푢2(4푢 푢 − 푢2)2 ⋅ 푎4푎3 mod⟨푎 , 푎3, 푎 , 푎 , 푎 ⟩. We next present the approach to deriving the number 3264 6 3 6 5 1 2 2 3 4 5 6 that would be taught in an algebraic geometry class, along This has the following intuitive interpretation. We assume the lines of the article [BKT08]. Thereafter we explain the that the given fixed conic 퐴 satisfies geometric degeneration we used to construct the fully real instance in Proposition 1. |푎1| ≫ |푎3| ≫ max{|푎2|, |푎4|, |푎5|, |푎6|}. (11) Steiner phrased his problem as that of solving five equa- 5 2 2 tions of degree six on the five-dimensional space ℙℂ. The Thus the conic 퐴 is close to 푥 −휖푦 , where 휖 is a small quan- incorrect count occurred because of the locus of dou- tity. The process of letting 휖 tend to zero is understood as 5 ble conics in ℙℂ. This is a surface of extraneous solu- a degeneration in the sense of algebraic geometry. With 5 tions. One fixes the problem by replacing ℙℂ with another this, the condition for 푈 to be tangent to 퐴 degenerates to 2 2 2 five-dimensional manifold, namely, the space of complete 푢6 ⋅ (4푢3푢6 − 푢5) = 0.

JANUARY 2020 NOTICES OF THE AMERICAN MATHEMATICAL SOCIETY 33 The first factor 푢6 represents all conics that pass through which we display as a 5 × 3 matrix 퐹(퐴,퐵,퐶,퐷,퐸): 2 the point (0, 0). The second factor 4푢3푢6 −푢5 represents all 휕퐴 휕푈 휕퐴 휕푈 conics tangent to the line {푥 = 0}. The Chow ring classes of 퐴(푥1, 푦1) 푈(푥1, 푦1)( − )(푥1, 푦1) ⎡ 휕푥 휕푦 휕푦 휕푥 ⎤ these factors are 푃 and 퐿. Each of these arises with multi- ⎢ 휕퐵 휕푈 휕퐵 휕푈 ⎥ plicity 2, as seen from the exponents. The desired intersec- ⎢ 퐵(푥2, 푦2) 푈(푥2, 푦2)( − )(푥2, 푦2)⎥ ⎢ 휕푥 휕푦 휕푦 휕푥 ⎥ tion number is now obtained from the Binomial Theorem: 휕퐶 휕푈 휕퐶 휕푈 ⎢ 퐶(푥3, 푦3) 푈(푥3, 푦3)( − )(푥3, 푦3)⎥ . (12) ⎢ 휕푥 휕푦 휕푦 휕푥 ⎥ 휕퐷 휕푈 휕퐷 휕푈 5 5 ⎢ ⎥ 퐷(푥4, 푦4) 푈(푥4, 푦4)( − )(푥4, 푦4) 퐶 = 32(퐿 + 푃) ⎢ 휕푥 휕푦 휕푦 휕푥 ⎥ = 32(퐿5 + 5퐿4푃 + 10퐿3푃2 + 10퐿2푃3 + 5퐿푃4 + 푃5) ⎢ 휕퐸 휕푈 휕퐸 휕푈 ⎥ 퐸(푥5, 푦5) 푈(푥5, 푦5)( − )(푥5, 푦5) = 32(1 + 5 ⋅ 2 + 10 ⋅ 4 + 10 ⋅ 4 + 5 ⋅ 2 + 1) ⎣ 휕푥 휕푦 휕푦 휕푥 ⎦ = 32 ⋅ 102 = 3264 . Each matrix entry is a polynomial in the 15 variables 푢1, … , 푢5, 푥1, 푦1 … , 푥5, 푦5. The parameters of this system are The final step in turning this into a rigorous proof of the coefficients of the conics 퐴, 퐵, 퐶, 퐷, 퐸. The system of Chasles’ result is carried out in [BKT08, §7]. five equations seen in (6) is obtained by eliminating the The degeneration idea in (11) can be used to construct 10 variables 푥1, 푦1, 푥2, 푦2, 푥3, 푦3, 푥4, 푦4, 푥5, 푦5 from the new real instances of Steiner’s problem whose 3264 solutions system 퐹(퐴,퐵,퐶,퐷,퐸)(푥) introduced in (12). are all real. Fulton first observed this and communicated At first glance, it looks like the new formulation (12)is it to Sottile, who then wrote down Fulton’s proof in detail worse than the one in (6). Indeed, the number of variables [Sot95, Sot]. Ronga, Tognoli, and Vust [RTV97] indepen- has increased from 6 to 15, and the B´ezoutnumber has in- dently gave a proof. Apparently, they did not know about creased from 65 = 7776 to 21035 = 248832. However, the Fulton’s ideas. new formulation is better suited for the numerical solver 2 Fix a convex pentagon in ℝ and one special point some- that powers our website. We explain this in the last section. where in the relative interior of each edge. Consider all conics 퐶 such that, for each edge of the pentagon, 퐶 ei- Approximation and Certification ther passes through the special point or is tangent to the Steiner’s conic problem amounts to solving a system of line spanned by the edge. By the count above, there are polynomial equations. Two formulations were given in 5 (퐿+푃) = 102 such conics 퐶. If the pentagon is chosen suf- (6) and (12). But what does “solving” actually mean? One ficiently asymmetric, then the 102 conics are all real. We answer is suggested in the textbook by Cox, Little, and now replace each pointed edge by a nearby hyperbola, sat- O’Shea [CLO15]: Solving means computing a Gröbner ba- isfying (11). For instance, if the edge has equation 푥 = 0 sis 풢. Indeed, crucial invariants, such as the dimension and and (0, 0) is its special point, then we take the hyperbola degree of the solution variety, are encoded in 풢. The num- 2 2 푥 − 휖푦 + 훿, where 휖 > 훿 > 0 are very small. After making ber of real solutions is found by applying techniques like appropriate choices of these parameters along all edges of deriving Sturm sequences from the polynomials in 풢. Yet the pentagon, each of the 102 conics splits into 32 conics, Gröbner bases can take a very long time to compute. We each tangent to the five hyperbolas. Here “splits” means, found them impractical for Steiner’s problem. if the process is reversed, then the 32 different conics col- Computing 3264 conics in a second requires numerical lapse into one solution of multiplicity 32. By construction, methods. Our encodings of the solutions are not Gröbner all 3264 conics are real. bases but numerical approximations. How does one make The argument shows that there exists an instance in the this rigorous? This question can be phrased as follows. 3264 neighborhood of the pentagon whose conics are all Suppose 푢1, … , 푢6 are the true coordinates of a solution real, but it does not say how close they should be. Serious and 푢1 +Δ푢1, … , 푢6 +Δ푢6 are approximations of those com- hands-on experimentation was necessary for finding the plex numbers. How small must the entries of Δ푢1, … , Δ푢6 instance in Proposition 1. be before it is justified to call them approximations? This We next present an alternative formulation of Steiner’s question is elegantly circumvented by using Smale’s defi- conic problem. The idea is to remember the five points of nition of approximate zero [BCSS98, Definition 1 in §8]. tangency on each solution conic. The five sextics in (6) did In short, an approximate zero of a system 퐹(푥) of 푛 poly- not involve these points. They were obtained directly from nomials in 푛 variables is any point 푧 ∈ ℂ푛 such that New- the tact invariant. The next system of equations avoids the ton’s method when applied to 푧 converges quadratically use of the tact invariant. It uses five copies of the equations fast towards a zero of 퐹. Here is the precise definition. (1)–(3), each with a different point of tangency (푥푖, 푦푖), for 푖 = 1, 2, 3, 4, 5. The ten equations from (1) and (2) are Definition 3 (Approximate zero). Let 퐽퐹 (푥) be the 푛 × 푛 quadrics. The five equations from (3) are cubics. Alto- Jacobian matrix of 퐹(푥). A point 푧 ∈ ℂ푛 is an approximate gether, we get the following system of fifteen equations, zero of 퐹 if there exists a zero 휁 ∈ ℂ푛 of 퐹 such that the

34 NOTICES OF THE AMERICAN MATHEMATICAL SOCIETY VOLUME 67, NUMBER 1 sequence of Newton iterates −1 푧푘+1 = 푁퐹 (푧푘), where 푁퐹 (푥) = 푥 − 퐽퐹 (푥) 퐹(푥), starting at 푧0 = 푧, satisfies for all 푘 = 1, 2, 3, … that 1 ‖푧 − 휁‖ ≤ ‖푧 − 휁‖2. 푘+1 2 푘 If this holds, then we call 휁 the associated zero of 푧. 푛 1 2 푛 Here ‖푥‖ ∶= (∑푖=1 푥푖푥푖) is the standard norm in ℂ , and the zero 휁 is assumed to be nonsingular; i.e., det(퐽퐹 (휁)) ≠ 0. The reader should think of approximate zeros as a data Figure 5. A proof for Proposition 1 given by the software structure for representing solutions to polynomial systems, alphaCertified. just as a Gröbner basis is a data structure. Different types of representations of data provide different levels of acces- is publicly available. Furthermore, if the polymomial sys- alphaCertified sibility to the desired information. For instance, approxi- tem 퐹 has only real coefficients, then can decide if an associated zero is real. The idea behind mate zeros are not well suited for computing algebraic fea- 푛 tures of an ideal. But they are a powerful tool for answering this is as follows: Let 푧 ∈ ℂ be an approximate zero of 퐹 geometric questions in a fast and reliable manner. with associated zero 휁. If the coefficients of 퐹 are all real, Suppose that 푧 is a point in ℂ푛 whose real and imagi- then the Newton operator 푁퐹 (푥) from Definition 3 satis- nary parts are rational numbers. How can we tell whether fies 푁퐹 (푥) = 푁퐹 (푥). Hence 푧 is an approximate zero of 퐹 푧 is an approximate zero of 퐹? This is not clear from the with associated zero 휁. If ‖푧 − 푧‖ < (20 훾(퐹, 푧))−1, then, by definition. Theorem 4, the associated zeros of 푧 and 푧 are equal. This It is possible to certify that 푧 is an approximate zero means 휁 = 휁. without dealing with the infinitely many Newton iterates. A fundamental insight is that Theorem 4 allows us to We next explain how this works. This involves Smale’s certify candidates for approximate zeros regardless of how 훾-number and Smale’s 훼-number: they were obtained. Typically, candidates are found by in- 1 exact computations using floating point arithmetic. We do 1 푘−1 ‖ −1 푘 ‖ not need to know what happens in that computation, be- 훾(퐹, 푧) = sup ‖ 퐽퐹 (푧) 퐷 퐹(푧)‖ , 푘≥2 푘! cause we can certify the result a posteriori. Certification −1 훼(퐹, 푧) = ‖퐽퐹 (푧) 퐹(푧)‖ ⋅ 훾(퐹, 푧). constitutes a rigorous proof of a mathematical result. Let us see this in action. Here 퐷푘퐹(푧) denotes the tensor of order-푘 derivatives at −1 푘 the point 푧, the tensor 퐽퐹 (푧) 퐷 퐹(푧) is understood as a Proof of Proposition 1. Fix five nondegenerate conics with 푛 푘 푛 multilinear map 퐴 ∶ (ℂ ) → ℂ , and the norm of this rational coefficients listed after equation (9). We apply map is ‖퐴‖ ∶= max‖푣‖=1 ‖퐴(푣, … , 푣)‖. HomotopyContinuation.jl [BT18] to compute 3264 Shub and Smale [SS93] derived an upper bound for solutions in a second in 64-bit floating point arithmetic. 훾(퐹, 푧) that can be computed exactly. Based on the next The output is inexact. Each coefficient 푢푖 of each true so- theorem [BCSS98, Theorem 4 in Chapter 8], one can thus lution 푈 is a complex number that is algebraic of degree decide algorithmically if 푧 is an approximate zero, using 3264 over ℚ. The floating point numbers that represent only data of the point 푧 itself. these coefficients are rational numbers, and we treat them ℚ Theorem 4 (Smale’s 훼-theorem). If 훼(퐹, 푧) < 0.03, then as elements of . 3264 푧 is an approximate zero of 퐹(푥). Furthermore, if 푦 ∈ ℂ푛 is Our proof starts with the resulting list of vectors 푥 ∈ ℚ15 15 any point with ‖푦 − 푧‖ < (20 훾(퐹, 푧))−1, then 푦 is also an corresponding to the variables of (12). The approximate zero of 퐹 with the same associated zero 휁 as 푧. computation was mentioned to make the exposition more friendly. It is not part of the proof. Actually, Smale’s 훼-theorem is more general in the sense We are now given 3264 candidates for approximate ze- that 훼0 = 0.03 and 푡0 = 20 can be replaced by any two ros of the polynomial system in (12). These candidates positive numbers 훼0 and 푡0 that satisfy a certain list of in- have rational coordinates. We use them as input to the equalities. software alphaCertified from [HS12]. That software Hauenstein and Sottile [HS12] use Theorem 4 in an al- performs exact computations in rational arithmetic. Its out- gorithm, called alphaCertified, that decides if a point put shows that the 3264 vectors 푥 are approximate zeros, 푧 ∈ ℂ푛 is an approximate zero and if two approximate ze- that their associated zeros 휁 are distinct, and that they all ros have distinct associated solutions. An implementation have real coordinates. This is shown in Figure 5. The

JANUARY 2020 NOTICES OF THE AMERICAN MATHEMATICAL SOCIETY 35 output data of alphaCertified is available for down- It is known that high degrees and many terms introduce load through the arXiv version of this article. □ numerical instability in the evaluation of polynomials. We use the homotopy This was a rigorous proof of Proposition 1, just as trust- worthy as a computer-assisted proof by symbolic computa- 퐻(푥, 푡) = 퐹푡⋅(퐴,퐵,퐶,퐷,퐸)+(1−푡)⋅(퐴′,퐵′,퐶′,퐷′,퐸′)(푥). (13) tion (e.g. Gröbner bases and Sturm sequences) might have been. Readers who are experts in algebra should not get The conic 푡퐴 + (1 − 푡)퐴′ is defined by the coefficients ′ ′ distracted by the appearance of floating point arithmetic: 푡푎푖 + (1 − 푡)푎푖, where 푎푖 and 푎푖 are the coefficients of 퐴 it is not part of the proof! Floating point numbers are only and 퐴′. This is called a parameter homotopy in the literature. a tool for obtaining the 3264 candidates. The actual proof Geometrically, (13) is a straight line in the space of quin- is carried out by exact symbolic computations. tuples of conics. An alternative would have been

How Does This Work? 퐻(푥,̃ 푡) = 푡퐹(퐴,퐵,퐶,퐷,퐸) + (1 − 푡)퐹(퐴′,퐵′,퐶′,퐷′,퐸′). (14) In this section we discuss the methodology and software that powers the web interface (10). The advantage of (13) over (14) is that the path stays We use the software HomotopyContinuation.jl within the space of structured systems that was developed by two of us [BT18]. This is a Julia {퐹 (푥) ∣ (퐴, 퐵, 퐶, 퐷, 퐸) are conics}. [BEKV17] implementation of a computational paradigm (퐴,퐵,퐶,퐷,퐸) called homotopy continuation. The reasons we chose Julia The structure of the equations is preserved. The system in as the programming language are threefold: the first is that (13) has 3264 solutions for almost all 푡, whereas (14) has Julia is open source and free for anyone to use. The sec- 7776 solutions for random 푡. In the language of algebraic ond is that Julia can be as fast as well-written C. For in- geometry, we prefer the flat family (13) over (14), which is stance, we use Julia’s JIT compiler for fast evaluation of not flat. polynomials. Finally, the third reason is that, despite its The last missing piece in our Steiner homotopy is a start high performance, Julia still provides an easy high-level system. That is, we need five explicit conics together with syntax. This makes our software accessible for users from all 3264 solutions. For this, we construct a generic instance many backgrounds. (퐴, 퐵, 퐶, 퐷, 퐸) by randomly sampling complex coefficients Homotopy continuation works as follows: We wish to for the conics. Then, we compute the 3264 solutions us- 푛 find a zero in ℂ of a system 퐹(푥) of 푛 polynomials in 푛 ing standard homotopy continuation techniques [SW05]. variables. Let 퐺(푥) be another such system with a known Those 3264 solutions are saved and used for further com- zero 퐺(휁) = 0. We connect 퐹 and 퐺 in the space of poly- putations. This initial computation is significantly more nomial systems by a path 푡 ↦ 퐻(푥, 푡) with 퐻(푥, 0) = 퐺(푥) expensive than tracking 3264 solutions along the homo- and 퐻(푥, 1) = 퐹(푥). topy (13), but it only has to be done once. The aim is to approximately follow the solution path 푥(푡) In closing, we emphasize the important role played by defined by 퐻(푥(푡), 푡) = 0. For this, the path is discretized enumerative geometry for solving polynomial systems. It into steps 푡0 = 0 < 푡1 < ⋯ < 푡푘 = 1. If the discretiza- gives a criterion for deciding if the initial numerical com- tion is fine enough, then 휁 is also an approximate zero putation found the correct number of solutions. This of 퐻(푥, 푡1). Hence, by Definition 3, applying the Newton is why numbers like 3264 are so important and why a 푁 (푥) 휁 휁 , 휁 , 휁 , ... operator 퐻(푥,푡1) to , we get a sequence 0 1 2 of numerical analyst might care about Chow rings and the points that converges towards a zero 휉 of 퐻(푥, 푡1). If 푡2 − 푡1 pentagon construction. We conclude that enumerative and ‖휁푖 − 휉‖ are small enough, for some 푖 ≥ 0, then the algebraic geometry and numerical algebraic geometry com- iterate 휁푖 is an approximate zero of 퐻(푥, 푡2). plement each other. We may repeat the procedure for 퐻(푥, 푡2) and starting with 휁푖. Inductively, we find an approximate zero of 퐻(푥, 푡푗) References for all 푗. In the end, we obtain an approximate zero for [BKT08] Bashelor A, Ksir A, Traves W. Enumerative algebraic the system 퐹(푥) = 퐻(푥, 1). Most implementations of ho- geometry of conics, Amer. Math. Monthly 115 (2008), 701– motopy continuation, including Bertini [BHSW06] and 728. MR2456094 HomotopyContinuation.jl [BT18], use heuristics for [BHSW06] Bates D, Hauenstein J, Sommese A, Wampler, C. setting both the step sizes 푡 −푡 and the number of New- Bertini: Software for Numerical Algebraic Geometry. Avail- 푗+1 푗 able at bertini.nd.edu. ton iterations. [BEKV17] Bezanson J, Edelman A, Karpinski S, Shah V. Julia: Our homotopy for Steiner’s conic problem computes A fresh approach to numerical computing, SIAM Review 59 zeros of the system 퐹(퐴,퐵,퐶,퐷,퐸)(푥) from (12). We prefer (2017), 65–98. MR3605826 formulation (12) over (6), because the equations in the [BCSS98] Blum L, Cucker F, Shub M, Smale S. Complexity and former formulation have lower degrees and fewer terms. Real Computation, Springer, 1998. MR1479636

36 NOTICES OF THE AMERICAN MATHEMATICAL SOCIETY VOLUME 67, NUMBER 1 [BT18] Breiding P, Timme S. HomotopyContinuation.jl - Credits a package for solving systems of polynomial equations Figures 1 and 3 are courtesy of Thomas Endler. in Julia, Mathematical Software – ICMS 2018. Lec- Figures 2, 4, 5, and author photos are courtesy of the authors. ture Notes in Computer Science. Software available at www.juliahomotopycontinuation.org. [CLO15] Cox D, Little J, O’Shea D. Ideals, Varieties, and Algo- rithms: An Introduction to Computational Algebraic Geometry and Commutative Algebra, 4th ed., Undergraduate Texts in Mathematics, Springer, 2015. MR3330490 [EH16] Eisenbud D, Harris J. 3264 and All That – a Second Course in Algebraic Geometry, Cambridge University Press, 2016. MR3617981 [GZ79] Garcia CB, Zangwill WL. Finding all solutions to polynomial systems and other systems of equations, Math. Programming 16 (1979), 159–176. MR527572 [HS12] Hauenstein J, Sottile F. alphaCertified: Certifying so- lutions to polynomial systems, ACM Trans. Math. Software 48 (2012), no. 4. MR2972672 [RTV97] Ronga F, Tognoli A, Vust T. The number of conics tangent to five given conics: the real case, Rev. Mat. Univ. Complut. Madrid 10 (1997), 391–421. MR1605670 [SS93] Shub M, Smale S. Complexity of B´ezout’s theorem I. Geometric aspects, J. Amer. Math. Soc. 6 (1993), 459–501. MR1175980 [Sot95] Sottile F. Enumerative geometry for real varieties, Al- gebraic geometry – Santa Cruz 1995, Proc. Sympos. Pure Math., 62, Part 1, Amer. Math. Soc., Providence, RI, 1997, 435–447. MR1492531 [Sot] Sottile F. 3264 real conics, www.math.tamu.edu /~sottile/research/stories/3264/. [SW05] Sommese A, Wampler C. The Numerical Solution of Systems of Polynomials. Arising in Engineering and Science, World Scientific, 2005. MR2160078

Paul Breiding Bernd Sturmfels

Sascha Timme

JANUARY 2020 NOTICES OF THE AMERICAN MATHEMATICAL SOCIETY 37