1 Introduction

Arthur Cayley in 1879 was the first to use “algorithm” to title a discrete geometry paper. In [7] he identifies the finite vector space \(({\mathbb {F}}^2)^6\) with the 64 theta characteristics of a plane quartic curve, i.e., the 28 bitangents and the 36 symmetric determinantal representations. The present paper can be viewed as a sequel. Our Table 1 is very much in the spirit of [7].

One century after Cayley, algorithms in discrete geometry became a field in its own right, in large part thanks to Eli Goodman. We are proud to dedicate this article to Eli’s memory. Eli obtained his PhD in 1967 with Heisuke Hironaka. He had important publications in algebraic geometry (e.g. [13]) before embarking on his distinguished career on the discrete side.

Consider the map \(\pi :\mathbb {P}^2\dashrightarrow \mathbb {P}^1\) that takes a point \((x\,{:}\,y\,{:}\,z) \) in the projective plane to the point \((x\,{:}\,y)\) on the projective line. Geometrically, this is the projection with center \(p=(0\,{:}\,0\,{:}\,1)\). We restrict \(\pi \) to the curve V(A) defined by a general ternary form of degree d,

$$\begin{aligned} A(x,y,z)\,=\!\sum _{i+j+k=d}\!\!\alpha _{ijk}\hspace{0.83328pt}x^iy^jz^k. \end{aligned}$$
(1)

The resulting \(d\,{:}\,1\) cover \(V(A)\rightarrow \mathbb {P}^1\) has \(d(d-1)\) branch points, represented by a binary form

$$\begin{aligned} B(x,y)\,=\!\sum _{i+j=d(d-1)}\!\!\beta _{ij}\hspace{0.66666pt}x^iy^j. \end{aligned}$$
(2)

Passing from the curve to its branch points defines a rational map from the space \(\mathbb {P}^{\left( {\begin{array}{c}d+2\\ 2\end{array}}\right) -1}\) with coordinates \(\alpha \) to the space \(\mathbb {P}^{d(d-1)}\) with coordinates \(\beta \). Algebraically, this is the map

$$\begin{aligned} \mathbb {P}^{\left( {\begin{array}{c}d+2\\ 2\end{array}}\right) -1}\dashrightarrow \mathbb {P}^{d(d-1)},\qquad A\mapsto {{\,\textrm{discr}\,}}_z(A). \end{aligned}$$
(3)

This is the discriminant of A with respect to the last variable. That discriminant is a binary form B of degree \(d\hspace{0.33325pt}(d-1)\) in xy whose coefficients are polynomials of degree \(2d-2\) in \(\alpha \).

We here study the Inverse Problem, namely recovery of the curve from its branch points. Given the binary form B, our task is to compute all ternary forms \({\hat{A}}\) such that \({{\,\textrm{discr}\,}}_z({\hat{A}})=B\). This is a system of \(d\hspace{0.33325pt}(d-1)+1\) polynomial equations of degree \(2d-2\) in the \(\left( {\begin{array}{c}d+2\\ 2\end{array}}\right) \) unknowns \(\alpha \). Solving this system means computing a fiber of the map (3) over B. Recovery is not unique because \({{\,\textrm{discr}\,}}_z(A)\) is invariant under the action of the subgroup \({\mathcal {G}}\) of \({{\,\mathrm{PGL\hspace{0.33325pt}}\,}}(3)\) given by

$$\begin{aligned} g:\ x\mapsto g_0x,\ y\mapsto g_0y,\ z\mapsto g_1x+g_2y+g_3z\qquad \hbox { with}\ g_0g_3\ne 0. \end{aligned}$$
(4)

By [22, Prop. 5.2.1 and Cor. 5.2.1], the fiber over B is a finite union of \({\mathcal {G}}\)-orbits. Their number \({\mathfrak {h}}_d\) is the plane Hurwitz number of degree d. Our task is to compute representatives for all \({\mathfrak {h}}_d\) orbits in the fiber of the map (3) over a given binary form B.

Example 1.1

(\(d=2\)) For conics we have \({\mathfrak {h}}_2=1\) and recovery is easy. Our polynomials are

$$\begin{aligned} A&=\alpha _{200}x^2+\alpha _{110}xy+\alpha _{101}xz+\alpha _{020}y^2+\alpha _{011}yz+\alpha _{002}z^2,\\ {{\,\textrm{discr}\,}}_z(A)&=(4\alpha _{002}\alpha _{200}-\alpha _{101}^2)\hspace{0.49988pt}x^2+(4\alpha _{002}\alpha _{110}-2\alpha _{011}\alpha _{101})\hspace{0.49988pt}xy\\&\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad +(4\alpha _{002}\alpha _{020}-\alpha _{011}^2)\hspace{0.49988pt}y^2,\\ B&=\beta _{20}x^2+\beta _{11}xy+\beta _{02}y^2. \end{aligned}$$

The equations \({{\,\textrm{discr}\,}}_z({\hat{A}})=B\) describe precisely one \(\mathcal G\)-orbit in \(\mathbb {P}^5\). A point in that orbit is

$$\begin{aligned} {\hat{A}}=\frac{\beta _{20}}{4}\hspace{0.55542pt}x^2+\frac{\beta _{11}}{4}\hspace{0.55542pt}xy-\beta _{02}yz+\beta _{02}z^2. \end{aligned}$$

Up to the \({\mathcal {G}}\)-action, this is the unique solution to our recovery problem for plane conics.

Plane Hurwitz numbers \({\mathfrak {h}}_d\) were studied in Ongaro’s 2014 PhD thesis and in his work with Shapiro [22, 24]. These served as the inspiration for our project. Presently, the only known nontrivial values are \({\mathfrak {h}}_3=40\) and \({\mathfrak {h}}_4=120\). The former value is due to Clebsch [9, 10]. We first learned it from [22, Prop. 5.2.2]. The latter value was computed by Vakil in [28]. The plane Hurwitz number \({\mathfrak {h}}_4 =120\) was presented with the extra factor \((3^{10}-1)/2\) in [22, (5.14)] and in [24, p. 608]. However, that factor is not needed; see Remark 2.8.

The parameter count above implies that the closure of the image of (3) is a variety \({\mathcal {V}}_d\) of dimension \(\left( {\begin{array}{c}d+2\\ 2\end{array}}\right) -4\) in an ambient space of dimension \(d\hspace{0.33325pt}(d-1)\). For \(d=2,3\), the two dimensions agree, so recovery is possible for generic B. For \(d\ge 4\), the constraint \(B\in {\mathcal {V}}_d\) is nontrivial. For instance, \({\mathcal {V}}_4\) is a hypersurface of degree 3762 in \(\mathbb {P}^{12}\), as shown by Vakil [28].

This article is organized as follows. In Sect. 2 we approach our problem from the perspective of computer algebra. We establish a normal form with respect to the \({\mathcal {G}}\)-action, and we identify the base locus of the map (3). This allows to state the recovery problem as a polynomial system with finitely many solutions over the complex numbers \(\mathbb {C} \). The number of solutions is \({\mathfrak {h}}_3=40\) for cubics, and it is \(\mathfrak h_4 = 120\), provided B lies on the hypersurface \({\mathcal {V}}_4\).

In Sect. 3 we establish the relationship to Hurwitz numbers that count abstract coverings of \(\mathbb {P}^1\). We encode such coverings by monodromy graphs, and we determine the real Hurwitz numbers for our setting. A highlight is Table 1, which matches the 40 monodromy representations for \(d=3\) with combinatorial labels taken from Clebsch [9] and Elkies [11].

In Sect. 4 we exhibit the Galois group for the 40 solutions when \(d=3\), and we discuss different realizations of this group. Theorem 4.1 implies that it agrees with the Galois group for the 27 lines on the cubic surface. Following classical work of Clebsch [9, 10], we show that the recovery of the 39 other cubics from the given cubic A can be solved in radicals.

Section 5 builds on work of Vakil [28]. It relates the recovery of quartic curves to tritangents of sextic space curves and to del Pezzo surfaces of degree one. Theorem 5.1 determines the possible number of real solutions. Instances with 120 rational solutions can be constructed by blowing up the plane \(\mathbb {P}^2\) at eight rational points. We conclude with Theorem 5.7 which connects the real structure of eight points in \(\mathbb {P}^2\) with that of the 12 branch points in \(\mathbb {P}^1\).

This article revolves around explicit computations, summarized in Algorithms 2.10, 3.9, 4.55.4, and 5.5. Our software and other supplementary material is available at the repository website MathRepo [12] of MPI-MiS via the link https://mathrepo.mis.mpg.de/BranchPoints.

2 Normal Forms and Polynomial Systems

We identify \(\mathbb {P}^{\left( {\begin{array}{c}d+2\\ 2\end{array}}\right) -1}\) with the space of plane curves (1) of degree d and use as homogeneous coordinates the \(\alpha _{ijk}\). The following subspace of that projective space has codimension three:

$$\begin{aligned} L_d=V(\alpha _{10\,d-1},\alpha _{d-1\,10},\alpha _{00d}-\alpha _{01\,d-1}). \end{aligned}$$
(5)

We now show that this linear space serves as a normal form with respect to the group action on fibers of (3). The group that acts is the three-dimensional group \({\mathcal {G}}\subset {{\,\mathrm{PGL\hspace{0.33325pt}}\,}}(3)\) given in (4).

Theorem 2.1

Let A be a ternary form of degree \(d\ge 3\) such that

$$\begin{aligned} \alpha _{00d}\left( \,\sum _{k=0}^{d-1}\frac{(k+1)(-1)^k}{d^k}\hspace{0.83328pt}\alpha _{10\,d-1}^k\alpha _{00d}^{d-k-1}\alpha _{d-k-1\,0\,k+1}\right) \ne 0. \end{aligned}$$
(6)

The orbit of A under the \({\mathcal {G}}\)-action on \(\mathbb {P}^{\left( {\begin{array}{c}d+2\\ 2\end{array}}\right) -1}\) intersects the linear space \(L_d\) in one point.

Remark 2.2

This statement is false for \(d=2\). The \({\mathcal {G}}\)-orbit of A consists of the conics

$$\begin{aligned} gA&=(\alpha _{002}g_1^2+\alpha _{101}g_0g_1+\alpha _{200}g_0^2)\hspace{0.55542pt}x^2\\&\quad +(2\alpha _{002}g_1g_2+\alpha _{011}g_0g_1+\alpha _{101}g_0g_2+\alpha _{110}g_0^2)\hspace{0.55542pt}xy\\&\quad +(2\alpha _{002}g_1g_3+\alpha _{101}g_0g_3)\hspace{0.55542pt}xz+(\alpha _{002}g_2^2+\alpha _{011}g_0g_2+\alpha _{020}g_0^2)\hspace{0.55542pt}y^2\\&\quad +(2\alpha _{002}g_2g_3+\alpha _{011}g_0g_3)\hspace{0.55542pt}yz+\alpha _{002}g_3^2z^2. \end{aligned}$$

For generic \(\alpha \), no choice of \(g\in {\mathcal {G}}\) makes both the xy-coefficient and the xz-coefficient zero. Note that the parenthesized sum in (6) is the zero polynomial for \(d=2\), but not for \(d\ge 3\).

Proof of Theorem 2.1

The unique point in \(L_d\cap {\mathcal {G}}{\mathcal {A}}\) is found by computation. Without loss of generality, we set \(g_0=1\). Next we set \(g_1=-(1/d)\hspace{0.49988pt}\alpha _{10\,d-1}/\alpha _{00d}\) because the coefficient of \(xz^{d-1}\) in gA equals \((d\alpha _{00d}g_1+\alpha _{10\,d-1})\hspace{0.55542pt}g_3^{d-1}\). The polynomial gA arises from A by the coordinate change \(z\mapsto g_1x+g_2y+g_3z\). Thus, a monomial \(x^iy^jz^{d-i-j}\) contributes the expression \(x^iy^j(g_1x+g_2y+g_3z)^{d-i-j}\) to gA. This contributes to the monomials \(x^{i'}y^{j'}z^{d-i'-j'}\) with \(i'\ge i\) and \(j'\ge j\). The coefficient of \(x^{d-1}y\) in gA arises from the following subsum of A:

$$\begin{aligned} \sum _{i=0}^{d-1}\alpha _{i0\,d-i}x^iz^{d-i}+\sum _{i=0}^{d-1}\alpha _{i1\,d-i-1}x^iyz^{d-i-1}, \end{aligned}$$

after inserting the coordinate change. Thus the coefficient of \(x^{d-1}y\) in gA equals

$$\begin{aligned} \sum _{i=0}^{d-1}\alpha _{i0\,d-i}(d-i)\hspace{0.55542pt}g_1^{d-i-1}g_2+\sum _{i=0}^{d-1}\alpha _{i1\,d-i-1}g_1^{d-i-1}. \end{aligned}$$

Inserting the above result for \(g_1\), and setting the coefficient of \(x^{d-1}y\) to zero, we can solve this affine-linear equation for \(g_2\), obtaining a rational function in the \(\alpha _{ijk}\) as solution for \(g_2\).

Next, we equate the coefficients of \(y z^{d-1}\) and \(z^d\). The first can be computed from the subsum \(\alpha _{00d}z^d+\alpha _{01\,d-1}yz^{d-1}\) and equals \(\alpha _{00d}dg_2g_3^{d-1}+\alpha _{01\,d-1}g_3^{d-1}\). The second is computed from the \(z^d\) coefficient of A only, and we find it to be \(\alpha _{00d} g_3^d\). Setting these two equal and solving for \(g_3\), we obtain \(g_3=(1/\alpha _{00d})\hspace{0.49988pt}(\alpha _{00d}dg_2+\alpha _{01\,d-1})\). Inserting our result for \(g_2\), we obtain a rational function in the \(\alpha _{ijk}\) as solution for \(g_3\). \(\square \)

Example 2.3

To be explicit, we display the solution in the two cases of primary interest. For cubics (\(d=3\)), the unique point gA in \(L_3\cap {\mathcal {G}}{\mathcal {A}}\) is given by the group element g with

$$\begin{aligned} g_0&=1,\quad g_1=-\frac{\alpha _{102}}{3\alpha _{003}},\quad g_2=\frac{9\alpha _{003}^2\alpha _{210}-3\alpha _{003}\alpha _{102}\alpha _{111}+\alpha _{012}\alpha _{102}^2}{3\alpha _{003}(3\alpha _{003}\alpha _{201}-\alpha _{102}^2)},\\ g_3&=\frac{9\alpha _{003}^3\alpha _{210}+3\alpha _{003}\alpha _{012}\alpha _{201}-3\alpha _{003}^2\alpha _{102}\alpha _{111}+\alpha _{003}\alpha _{012}\alpha _{102}^2-\alpha _{102}^2\alpha _{012}}{\alpha _{003}(3\alpha _{003}\alpha _{201}-\alpha _{102}^2)}. \end{aligned}$$

For quartics (\(d=4\)), the unique point gA in \(L_4\cap {\mathcal {G}}{\mathcal {A}}\) is given by \(g\in {\mathcal {G}}\), where

$$\begin{aligned}{} & {} g_0 =1,\quad g_1=-\frac{\alpha _{103}}{4\alpha _{004}},\\{} & {} g_2 =\frac{64\hspace{0.49988pt}\alpha _{004}^3\alpha _{310}-16\hspace{0.49988pt}\alpha _{004}^2\alpha _{103}\alpha _{211}+4\alpha _{004}\alpha _{103}^2\alpha _{112}-\alpha _{013}\alpha _{103}^3)}{8\alpha _{004}(8\alpha _{004}^2\alpha _{301}-4\alpha _{004}\alpha _{103}\alpha _{202}+\alpha _{103}^3)}, \end{aligned}$$

and \(g_3=u_3/v_3\) with

$$\begin{aligned} u_3&=64\hspace{0.55542pt}\alpha _{004}^4\alpha _{310}+16\hspace{0.55542pt}\alpha _{004}^2\alpha _{013}\alpha _{301}-16\hspace{0.55542pt}\alpha _{004}^3\alpha _{103}\alpha _{211}-8\alpha _{004}\alpha _{013}\alpha _{103}\alpha _{202}\\&\qquad \qquad \qquad \qquad \qquad +\,4\alpha _{004}^2\alpha _{103}^2\alpha _{112}+2\alpha _{103}^3\alpha _{013}-\alpha _{004}\alpha _{013}\alpha _{103}^3,\\ v_3&=2\alpha _{004}(8\alpha _{004}^2\alpha _{301}-4\alpha _{004}\alpha _{103}\alpha _{202}+\alpha _{103}^3). \end{aligned}$$

One can derive similar formulas for the transformation to normal form when \(d\ge 5\). The denominator in the expressions for g is the polynomial of degree d in \(\alpha \) shown in (6).

Our task is to solve \({{\,\textrm{discr}\,}}_z({\hat{A}})=B\), for a fixed binary form B. This equation is understood projectively, meaning that we seek \({\hat{A}}\) in \(\mathbb {P}^{\left( {\begin{array}{c}d+2\\ 2\end{array}}\right) -1}\) such that \({{\,\textrm{discr}\,}}_z({\hat{A}}) \) vanishes at all zeros of B in \(\mathbb {P}^1\). By Theorem 2.1, we may assume that \({\hat{A}}\) lies in the subspace \(L_d\). Our system has extraneous solutions, namely ternary forms \({\hat{A}}\) whose discriminant vanishes identically. They must be removed when solving our recovery problem. We now identify them geometrically.

Proposition 2.4

The base locus of the discriminant map (3) has two irreducible components. These have codimension 3 and \(2d-1\) respectively in \(\mathbb {P}^{\left( {\begin{array}{c}d+2\\ 2\end{array}}\right) -1}\). The former consists of all curves that are singular at \(p=(0\,{:}\,0\,{:}\,1)\), and the latter is the locus of non-reduced curves.

Proof

The binary form \({{\,\textrm{discr}\,}}_z(A)\) vanishes identically if and only if the univariate polynomial function \(z\mapsto A(u,v,z)\) has a double zero \({\hat{z}}\) for all \(u,v\in \mathbb {C} \). If p is a singular point of the curve V(A) then \({\hat{z}}=0\) is always such a double zero. If A has a factor of multiplicity \(\ge 2\) then so does the univariate polynomial \(z\mapsto A(u,v,z)\), and the discriminant vanishes. Up to closure, we may assume that this factor is a linear form, so there are \(\left( {\begin{array}{c}d\\ 2\end{array}}\right) -1+2\) degrees of freedom. This shows that the family of nonreduced curves A has codimension \(2d-1=\bigl (\left( {\begin{array}{c}d+2\\ 2\end{array}}\right) -1\bigr )-\bigl (\left( {\begin{array}{c}d\\ 2\end{array}}\right) +1\bigr )\). The two scenarios define two distinct irreducible subvarieties of \(\mathbb {P}^{\left( {\begin{array}{c}d+2\\ 2\end{array}}\right) -1}\). For A outside their union, the binary form \({{\,\textrm{discr}\,}}_z(A)\) is not identically zero. \(\square \)

We now present our solution to the recovery problem for cubic curves. Let B be a binary sextic with six distinct zeros in \(\mathbb {P}^1\). We are looking for a ternary cubic in the normal form

$$\begin{aligned} A=\alpha _{300}x^3+\alpha _{201}x^2z+\alpha _{111}xyz+\alpha _{102}xz^2+\alpha _{030}y^3+\alpha _{021}y^2z+yz^2+z^3. \end{aligned}$$

Here we assume \(p=(0\,{:}\,0\,{:}\,1)\notin V(A)\), so that \(\alpha _{012}=\alpha _{003}=1\). We saw this in Theorem 2.1. The remaining six coefficients \(\alpha _{ijk}\) are unknowns. The discriminant has degree three in these:

$$\begin{aligned}&{{\,\textrm{discr}\,}}_z(A)=(4\alpha _{201}^3+27\hspace{0.55542pt}\alpha _{300}^2)\hspace{0.55542pt}x^6+(12\hspace{0.49988pt}\alpha _{111}\alpha _{201}^2-18\hspace{0.49988pt}\alpha _{201}\alpha _{300})\hspace{0.55542pt}x^5y\\&\qquad \qquad \qquad \qquad \qquad \qquad \qquad +\cdots +(4\alpha _{021}^3-\alpha _{021}^2-\cdots +4\alpha _{030})\hspace{0.49988pt}y^6.&\end{aligned}$$

This expression is supposed to vanish at each of the six zeros of B. This gives a system of six inhomogeneous cubic equations in the six unknowns \(\alpha _{ijk}\). In order to remove the extraneous solutions described in Proposition 2.4, we further require that the leading coefficient of the discriminant is nonzero. We can write our system of cubic constraints in the \(\alpha _{ijk}\) as follows:

$$\begin{aligned}&{\text {rank}}\begin{bmatrix}4\alpha _{201}^3+27\hspace{0.49988pt}\alpha _{300}^2&{}12\hspace{0.49988pt}\alpha _{111}\alpha _{201}^2-18\hspace{0.49988pt}\alpha _{201}\alpha _{300}&{}\ldots &{}4\alpha _{021}^3-\alpha _{021}^2-\cdots +4\alpha _{030}\nonumber \\ \beta _{60}&{}\beta _{51}&{}\ldots &{}\beta _{06}\end{bmatrix}\le 1\\&\text {and}\qquad 4\alpha _{201}^3+27\hspace{0.55542pt}\alpha _{300}^2\ne 0. \end{aligned}$$
(7)

This polynomial system exactly encodes the recovery of plane cubics from six branch points.

Corollary 2.5

For general \(\beta _{ij}\), the system (7) has \({\mathfrak {h}}_3=40\) distinct solutions \(\alpha \in \mathbb {C} ^6\).

Proof

The study of cubic curves tangent to a pencil of six lines goes back to Cayley [6]. The formula \({\mathfrak {h}}_3=40\) was found by Clebsch [9, 10]. We shall discuss his remarkable work in Sect. 4. A modern proof for \(\mathfrak h_3=40\) was given by Kleiman and Speiser in [20, Cor. 8.5].

We here present the argument given in Ongaro’s thesis [22]. By [22, Prop. 5.2.2], every covering of \(\mathbb {P}^1\) by a plane cubic curve is a shift in the group law of that elliptic curve followed by a linear projection from a point in \(\mathbb {P}^2\). This implies that the classical Hurwitz number, which counts such coverings, coincides with the plane Hurwitz number \({\mathfrak {h}}_3\). The former is the number of six-tuples \(\tau =(\tau _1,\tau _2,\tau _3,\tau _4,\tau _5,\tau _6)\) of permutations of \(\{1,2,3\}\), not all equal, whose product is the identity, up to conjugation. We can choose \(\tau _1,\ldots ,\tau _5\) in \(3^5=243\) distinct ways. Three of these are disallowed, so there are 240 choices. The symmetric group \({\mathbb {S}}_3\) acts by conjugation on the tuples \(\tau \), and all orbits have size six. The number of classes of allowed six-tuples is thus \(240/6=40\). This is our Hurwitz number \({\mathfrak {h}}_3\). Now, the assertion follows from Theorem 2.1, which ensures that the solutions of (7) are representatives. \(\square \)

We next turn to another normal form, shown in (8), which has desirable geometric properties. Let A be a ternary form (1) with \(a_{00\,d}\ne 0\). We define a group element \(g\in {\mathcal {G}}\) by

$$\begin{aligned} g_0=1,\quad g_1=-\frac{a_{10\,d-1}}{da_{00d}},\quad g_2=-\frac{a_{01\,d-1}}{da_{00d}},\quad g_3=1. \end{aligned}$$

The coefficients of \(xz^{d-1}\) and \(yz^{d-1}\) in gA are zero. Thus, after this transformation, we have

$$\begin{aligned} A=z^d+A_2(x,y)\cdot z^{d-2}+A_{3}(x,y)\cdot z^{d-3}+\cdots +A_{d-1}(x,y)\cdot z+A_d(x,y). \end{aligned}$$
(8)

Here \(A_i(x,y)\) is an arbitrary binary form of degree i. Its \(i+1\) coefficients are unknowns. The group \({\mathcal {G}}\) still acts by rescaling xy simultaneously with arbitrary non-zero scalars \(\lambda \in {\mathbb {C}}^*\).

We next illustrate the utility of (8) by computing the planar Hurwitz number for \({d=4}\). Consider a general ternary quartic A. We record its 12 branch points by fixing the discriminant \(B={{\,\textrm{discr}\,}}_z(A)\). Let \({\hat{A}}\in L_4\) be an unknown quartic in the normal form specified in Theorem 2.1, so \({\hat{A}}\) has 13 terms, 11 of the form \(\alpha _{ijk}x^iy^jz^k\) plus \(yz^3\) and \(z^4\). Our task is to solve the following system of 12 polynomial equations of degree five in the 11 unknowns \(\alpha _{ijk}\):

$$\begin{aligned} \begin{aligned}&\text {Find all quartics } {\hat{A}} \text { such that }\\&{{\,\textrm{discr}\,}}_z({\hat{A}}) \text { is a non-zero multiple of the binary form}~B. \end{aligned} \end{aligned}$$
(9)

The number of solutions of this system was found by Vakil [28] with geometric methods.

Theorem 2.6

Let \(B=\sum _{i+j=12}\beta _{ij}x^iy^j\) be the discriminant with respect to z of a general ternary quartic A. Then the polynomial system (9) has \({\mathfrak {h}}_4=120\) distinct solutions \(\alpha \in \mathbb {C} ^{11}\).

The hypothesis ensures that B is a point on Vakil’s degree 3762 hypersurface \({\mathcal {V}}_4\) in \(\mathbb {P}^{12}\). This is a necessary and sufficient condition for the system (9) to have any solution at all.

Corollary 2.7

If we prescribe 11 general branch points on the line \(\mathbb {P}^1\) then the number of complex quartics A such that \({{\,\textrm{discr}\,}}_z(A)\) vanishes at these points is equal to \(120\cdot 3762=451440\).

Proof

Consider the space \(\mathbb {P}^{12}\) of binary forms of degree 12. Vanishing at 11 general points defines a line in \(\mathbb {P}^{12}\). That line meets the hypersurface \({\mathcal {V}}_4\) in 3762 points. By Theorem 2.6, each of these points in \(\mathcal V_4\subset \mathbb {P}^{12}\) has precisely 120 preimages A in \(\mathbb {P}^{14}\) under the map (3). \(\square \)

Remark 2.8

It was claimed in [22, (5.14)] and [24, p. 608] that \({\mathfrak {h}}_3\) is \(120\cdot (3^{10}-1)/2=3542880\). That claim is not correct. The factor \((3^{10}-1)/2\) is not needed.

Proof of Theorem 2.6

We work with the normal form (8). Up to the \({\mathcal {G}}\)-action, the triples \((A_2,A_3,A_4)\) are parametrized by the 11-dimensional weighted projective space \({\mathbb {P}}\hspace{0.44434pt}(2^3,3^4,4^5)\). Following Vakil [28], we consider a second weighted projective space of dimension 11, namely \({\mathbb {P}}\hspace{0.3888pt}(3^5,2^7)\). The weighted projective space \({\mathbb {P}}\hspace{0.3888pt}(3^5,2^7)\) parametrizes pairs \((U_2,U_3)\) where \(U_i=U_i(x,y)\) is a binary form of degree 2i, up to a common rescaling of xy by some \(\lambda \in {\mathbb {C}}^*\).

We define a rational map between our two weighted projective spaces as follows:

$$\begin{aligned} \begin{aligned} \nu :{\mathbb {P}}\hspace{0.44434pt}(2^3,3^4,4^5)\dashrightarrow {\mathbb {P}}\hspace{0.3888pt}(3^5,2^7),\qquad (A_2,A_3,A_4)\mapsto (U_2,U_3),\\ \text {where}\quad U_2=-4A_4-\frac{1}{3}\hspace{0.55542pt}A_2^2\quad \text {and}\quad U_3=A_3^2-\frac{8}{3}\hspace{0.55542pt}A_2A_4+\frac{2}{27}\hspace{0.55542pt}A_2^3. \end{aligned} \end{aligned}$$
(10)

We compose this with the following map into the space \(\mathbb {P}^{12}\) of binary forms of degree 12:

$$\begin{aligned} \mu :{\mathbb {P}}\hspace{0.3888pt}(3^5,2^7)\dashrightarrow \mathbb {P}^{12},\qquad (U_2,U_3)\mapsto 4\cdot U_2^3+27\cdot U_3^2. \end{aligned}$$
(11)

The raison d’être for the maps (10) and (11) is that they represent the formula of the discriminant \({{\,\textrm{discr}\,}}_z(A)\) of the special quartic in (8). Thus, modulo the action of \({\mathcal {G}}\), we have

$$\begin{aligned} \pi =\mu \circ \nu , \end{aligned}$$

where \(\pi :\mathbb {P}^{14}\rightarrow \mathbb {P}^{12}\) is the branch locus map in (3). One checks this by a direct computation.

Vakil proves in [28, Prop. 3.1] that the map \(\nu \) is dominant and its degree equals 120. We also verified this statement independently via a numerical calculation in affine coordinates using HomotopyContinuation.jl [2], and we certified its correctness using the method in [1]. This implies that the image of the map \(\mu \) equals the hypersurface \({\mathcal {V}}_4\). In particular, \({\mathcal {V}}_4\) is the locus of all binary forms of degree 12 that are sums of the cube of a quartic and the square of a sextic. Vakil proves in [28, Thm. 6.1] that the map \(\mu \) is birational onto its image \({\mathcal {V}}_4\). We verified this statement by a Gröbner basis calculation. This result implies that both \(\nu \) and \(\pi \) are maps of degree 120, as desired.\(\square \)

Remark 2.9

We also verified that \({\mathcal {V}}_4\) has degree 3762, namely by solving 12 random affine-linear equations on the parametrization (11). The common Newton polytope of the resulting polynomials has normalized volume 31104. This is the number of paths tracked by the polyhedral homotopy in HomotopyContinuation.jl. We found \(22572=3762\times 6\) complex solutions. The factor 6 arises because \(U_2\) and \(U_3\) can be multiplied by roots of unity.

Algorithm 2.10

We implemented a numerical recovery method based on the argument used to prove Theorem 2.6. The input is a pair \((U_2,U_3)\) as above. The output consists of the 120 solutions in the subspace \(L_4\simeq \mathbb {P}^{11}\) seen in (5). We find these by solving the equations

$$\begin{aligned} \begin{aligned} A_1 A_3-4 A_0 A_4-\frac{1}{3}\hspace{0.55542pt}A_2^2&=U_2\quad \ \text {and}\ \\ \quad A_1^2A_4+A_0A_3^2-\frac{8}{3}\hspace{0.55542pt}A_0A_2A_4 -\frac{1}{3}\hspace{0.55542pt}A_1A_2A_3+\frac{2}{27}\hspace{0.55542pt}A_2^3&=U_3. \end{aligned} \end{aligned}$$
(12)

By [28, (5)], these represent the discriminant for quartics \(A=\sum _{i=0}^4A_iz^{4-i}\). To be precise, (12) is a system of \(12=5+7\) equations in the 12 unknown coefficients of \(A\in L_4\). These have 120 complex solutions, found easily with HomotopyContinuation.jl [2].

3 Hurwitz Combinatorics

The enumeration of Riemann surfaces satisfying fixed ramification was initiated by Hurwitz in his 1891 article [18]. Hurwitz numbers are a widely studied subject, seen as central to combinatorial algebraic geometry. For basics see [4, 5, 14, 19, 22] and the references therein.

This paper concerns a general projection \(V(A)\rightarrow \mathbb P^1\) of a smooth plane curve of degree d and genus \(g=\left( {\begin{array}{c}d-1\\ 2\end{array}}\right) \). In Sect. 2 we studied the inverse problem of recovering A from the \(d\hspace{0.33325pt}(d-1)\) simple branch points. We now relate the plane Hurwitz numbers \({\mathfrak {h}}_d\) to the Hurwitz numbers \(H_d\) that count abstract covers. To be precise, \(H_d\) is the number of degree d covers f of \({\mathbb {P}}^1\) by a genus \(\left( {\begin{array}{c}d-1\\ 2\end{array}}\right) \) curve C having \(d\hspace{0.33325pt}(d-1)\) fixed simple branch points. Each cover \(f:C\rightarrow {\mathbb {P}}^1\) is weighted by \(1/|{\textrm{Aut}\hspace{0.33325pt}(f)}|\). Following [5], the number \(H_d\) can be found by counting monodromy representations, i.e., homomorphisms from the fundamental group of the target minus the branch points to the symmetric group over the fiber of the base point.

Lemma 3.1

(Hurwitz [18]) The Hurwitz number \(H_d\) equals 1/d! times the number of tuples of transpositions \(\tau =(\tau _1,\tau _2,\ldots ,\tau _{d\cdot (d-1)})\) in the symmetric group \({\mathbb {S}}_d\) satisfying

$$\begin{aligned} \tau _{d\cdot (d-1)}\circ \cdots \circ \tau _2\circ \tau _1=id , \end{aligned}$$

where the subgroup generated by the \(\tau _i\) acts transitively on the set \(\{1,2,\ldots ,d\}\).

Proposition 3.2

For \(d\ge 3\), the plane Hurwitz number is less than or equal to the classical Hurwitz number that counts abstract covers. In symbols, we have \({\mathfrak {h}}_d\le H_d\).

The restriction \(d\ge 3\) is needed because of the weighted count, with automorphisms. For \(d=2\), we have \(H_2=1/2\) because of the existence of a non-trivial automorphism for maps \(\mathbb {P}^1\rightarrow \mathbb {P}^1\). For higher d, the covers coming from projections of plane curves do not have automorphisms, so we can count them without this weight. This establishes Proposition 3.2.

The two cases of primary interest in this paper are \(d=3\) and \(d=4\). From the proofs of Corollary 2.5 and Theorem 2.6, we infer that the two cases exhibit rather different behaviors.

Corollary 3.3

For linear projections of cubic curves and quartic curves in \(\mathbb {P}^2\), we have

$$\begin{aligned} {\mathfrak {h}}_3=H_3=40\qquad \text {and}\qquad {\mathfrak {h}}_4=120<H_4=7528620. \end{aligned}$$

The count in Lemma 3.1 can be realized by combinatorial objects known as monodromy graphs. These occur in different guises in the literature. We here use the version that is defined formally in [14, Defn. 3.1]. These represent abstract covers in the tropical setting of balanced metric graphs. We next list all monodromy graphs for \(d=3\).

Example 3.4

(forty monodromy graphs) For \(d=3\), Lemma 3.1 yields \(H_3=40\) six-tuples \(\tau =(\tau _1,\tau _2,\ldots ,\tau _6)\) of permutations of \(\{1,2,3\}\), up to the conjugation action by \({\mathbb {S}}_3\). In Table 1 we list representatives for these 40 orbits (see also [23, Table 1]). Each tuple \(\tau \) determines a monodromy graph as in [4, Lem. 4.2] and [14, Sect. 3.3]. Reading from the left to right, the diagram represents the cycle decompositions of the permutations \(\tau _i\circ \cdots \circ \tau _1\) for \(i=1,\ldots ,6\). For instance, for the first type \({\mathcal {A}}_1\), we start at \(id =(1)(2)(3)\), then pass to (12)(3), next to (123), then to (12)(3), etc. On the right end, we are back at \(id =(1)(2)(3)\).

Table 1 The monodromy graphs for the \(H_3=40\) coverings of \(\mathbb {P}^1\) by a genus one curve

To identify real monodromy representations (see Lemma 3.5), we give a coloring as in [14, Defn. 3.5]. Using [14, Lem. 3.5] we find eight real covers among the 40 complex covers. We use [14, Lem. 2.3] to associate the real covers to their monodromy representations.

We divide the 40 classes into five types, \({\mathcal {A}}\) to \({\mathcal {E}}\), depending on the combinatorial type of the graph. Types \({\mathcal {A}}\) and \({\mathcal {B}}\) are symmetric under reflection of the ends, \({\mathcal {C}}\), \({\mathcal {D}}\), and \({\mathcal {E}}\) are not. An upper index \(\ell \) indicates that the cycle of the graph is on the left side of the graph, while r indicates that it is on the right side. The number of classes of each type is the multiplicity in [4, Lem. 4.2] and [23, Table 1]. Each class starts with the real types, if there are any, and proceeds lexicographically in \(\tau \). In the table, the edges of the monodromy graphs are labeled by the cycle they represent. If the edge is unlabeled, then the corresponding cycle is either clear from context or varies through all possible cycles in \({\mathbb {S}}_3\) of appropriate length.

We now turn to branched covers that are real. In the abstract setting of Hurwitz numbers \(H_d\), this has been studied in [3, 14, 19]. A cover \(f:C\rightarrow \mathbb {P}^1\) is called real if the Riemann surface C has an involution which is compatible with complex conjugation on the Riemann sphere \(\mathbb {P}^1\). The branch points in \(\mathbb {P}^1\) can be real or pairs of complex conjugate points. We let \(H^real _d(r)\) be the weighted count of degree d real covers f of \({\mathbb {P}}^1\) by a genus \(\left( {\begin{array}{c}d-1\\ 2\end{array}}\right) \) curve C having \(d\hspace{0.33325pt}(d-1)\) fixed simple branch points, of which r are real. As before, each cover \(f:C\rightarrow {\mathbb {P}}^1\) is weighted by \(1/|{\textrm{Aut}\hspace{0.33325pt}(f)}|\). The following result appears in [3, Sect. 3.3].

Lemma 3.5

The real Hurwitz number \(H^real _d(r)\) equals 1/d! times the number of tuples \(\tau \) as in Lemma 3.1 for which there exists an involution \(\sigma \in {\mathbb {S}}_3\) such that

$$\begin{aligned} \sigma \circ \tau _i\circ \cdots \circ \tau _1\circ \sigma =(\tau _1\circ \cdots \circ \tau _i)^{-1} \end{aligned}$$

for \(i=1,\ldots ,r-1\) and \(\sigma \circ \tau _{r+i}\circ \sigma =\tau _{r'+1-i}\) for \(i=1,\ldots ,r'\), where r is the number of real branch points and \(r'\) the number of pairs of complex conjugate branch points.

Geometrically, this means that, for a pair of complex conjugate points \(q_1,q_2\), under complex conjugation the arc \(\gamma _1\) around \(q_1\) maps to \(-\gamma _2\), where \(\gamma _2\) is the arc around \(q_2\). Our next result says that the real Hurwitz number for \(d=3\) does not depend on r and \(r'=6-2r\).

Proposition 3.6

We have \(H^real _3(r)=8\) for \(r=6,4,2,0\).

Proof

We prove this by investigating all monodromy representations in Table 1. Using explicit computations, we identify all six-tuples \(\tau \) that satisfy the conditions in Lemma 3.5. For a cover with six real branch points, we obtain eight real monodromy representations, of types \({\mathcal {A}}_1\), \({\mathcal {A}}_2\), \({\mathcal {B}}_1\), \(\mathcal B_2\), \({\mathcal {C}}^l_1\), \({\mathcal {C}}^r_1\), \({\mathcal {D}}^l_1\), and \({\mathcal {D}}^r_1\), listed in Table 1 with coloring. For a cover with four real branch points and a pair of complex conjugate branch points, we again obtain eight real monodromy representations. These are the types \({\mathcal {A}}_3\), \({\mathcal {A}}_{12}\), \({\mathcal {B}}_1\), \({\mathcal {B}}_2\), \({\mathcal {C}}^l_2\), \({\mathcal {C}}^r_1\), \({\mathcal {D}}^l_1\), and \({\mathcal {D}}^r_1\). For two real branch points and two complex conjugate pairs, we again obtain eight real monodromy representations, namely of types \(\mathcal A_9\), \({\mathcal {A}}_{12}\), \({\mathcal {B}}_1\), \({\mathcal {B}}_2\), \(\mathcal D^l_1\), \({\mathcal {D}}^r_1\), \({\mathcal {E}}^\ell _3\), and \({\mathcal {E}}^r_1\). Finally, for three pairs of complex conjugate branch points, we find the eight types \({\mathcal {A}}_5\), \({\mathcal {A}}_{17}\), \({\mathcal {B}}_1\), \({\mathcal {B}}_2\), \({\mathcal {D}}^l_1\), \({\mathcal {D}}^r_1\), \(\mathcal E^\ell _3\), and \({\mathcal {E}}^r_5\). \(\square \)

The situation is more interesting for \(d=4\), where we obtained the following result:

Theorem 3.7

The real Hurwitz numbers for degree 4 coverings of \(\mathbb {P}^1\) by genus 3 curves are

Proof

This is found by a direct computation using Oscar [30]. We start by constructing a list of all monodromy representations of degree 4 and genus 3. As monodromy representations occur in equivalence classes, we construct only one canonical representative for each class. This is the element of the equivalence class that is minimal with respect to the lexicographic ordering. The resulting list of 7528620 monodromy representations was computed in about 6.5 hours. In other words, we embarked on a table just like Table 1, but its number of rows is now 7528620 instead of 40. Those are the two numbers seen in Corollary 3.3.

We next applied Cadoret’s criterion in [3, Sect. 3.3, formula \((\star )\)] to our big table. This criterion was stated in Lemma 3.5. We start with our 7528620 tuples \(\tau \), computed as just described, and mentioned in Lemma 3.1. According to Cadoret’s criterion, we must check for each 12-tuple \(\tau \) whether there exists an involution \(\sigma \) that satisfies certain equations in the symmetric group \({\mathbb {S}}_4\). These depend on the number r of real branch points. Note that \(r=\{0,2,4,\ldots ,12\}\). For \(r=2,4,\ldots ,12\), the only possible involutions \(\sigma \) are \(id \), (12), (34), and (12)(34), by the structure of the canonical representative computed for the list. For \(r=0\), all involutions in \({\mathbb {S}}_4\) can appear. For each involution \(\sigma \) and each value of r, it took between 5 and 30 minutes to scan our big table, and to determine how many 12-tuples \(\tau \) satisfy Cadoret’s criterion for the pair \((r,\sigma )\). For each r, we collected the number of tuples \(\tau \) for which the answer was affirmative. This gave the numbers stated in Theorem 3.7. \(\square \)

We next relate this Hurwitz combinatorics to the polynomial systems in Sect. 2. Recall that we seek orbits of the group \({\mathcal {G}}\) acting on \(\mathbb {P}^{\left( {\begin{array}{c}d+2\\ 2\end{array}}\right) -1}\). An orbit is called real if it has the form \({\mathcal {G}}{\mathcal {A}}\) where A is a ternary form with real coefficients. Since \({\mathcal {G}}\) is defined over \({\mathbb {R}}\), an orbit is real if and only if its unique intersection point with the linear space \(L_d\) in Theorem 2.1 is real. Thus, identifying the real orbits among those with prescribed branch points is equivalent to deciding how many of the \({\mathfrak {h}}_d\) complex solutions in our exact formulations (7) and (9) are real.

Suppose that the given binary form \(B\in {\mathcal {V}}_d\) has real coefficients, and let r denote the number of real zeros of B. In addition, there are \(d\hspace{0.33325pt}(d-1)-2r\) pairs of complex conjugate zeros. It turns out that for \(d=3\) the number of real solutions is independent of the number r. Our census of real plane Hurwitz numbers for quartics will be presented in Sect. 5.

Corollary 3.8

The real plane Hurwitz number for cubics equals eight. To be precise, the system (7) always has eight real solutions, provided the given parameters \(\beta _{ij}\) are real and generic.

Proof

This is derived from Corollary 3.3 and Proposition 3.6. Namely, we use the fact that plane covers are in bijection with abstract covers. Let \(C\rightarrow \mathbb {P}^1\) be a real cover by an elliptic curve C. The involution of C that is referred to in the proof of Corollary 2.5 is real as well. Another proof, following Clebsch [9, 10], appears in Sect. 4. \(\square \)

Algorithm 3.9

We implemented numerical recovery for cubics that matches Table 1. The input is a binary sextic B with real coefficients. The output consists of 40 cubics A in \(L_3\) along with their labeling by \(\mathcal A_1,{\mathcal {A}}_2,\ldots ,{\mathcal {E}}_6^r\). The cubics are found with HomotopyContinuation.jl by solving (7). We next fix loops \(\gamma _1,\gamma _2,\ldots ,\gamma _6\) around the six roots of B that are compatible with complex conjugation on the Riemann sphere \(\mathbb {P}^1\). If all six roots are real then we use [14, Constr. 2.4]. For each cubic A, we track the three roots z of \(A(x,y,z)=0\) as \((x\,{:}\,y)\) cycles along \(\gamma _i\). The resulting permutation of the three roots is the transposition \(\tau _i\). This process maps A to a tuple \(\tau \) in Table 1. This is unique up to conjugacy by \({\mathbb {S}}_3\). The eight real cubics A are mapped to the eight real monodromy representations, in the proof of Proposition 3.6.

4 Cubics: Solutions in Radicals

The theme of this paper is the rational map (3) that takes a ternary form to its z-discriminant. This map is finite-to-one onto its image \({\mathcal {V}}_d\), assuming the domain \(\mathbb {P}^{\left( {\begin{array}{c}d+2\\ 2\end{array}}\right) -1}\) is understood modulo the group \({\mathcal {G}}\). Note that \({\mathcal {V}}_d\) is an irreducible variety of dimension \(\left( {\begin{array}{c}d+2\\ 2\end{array}}\right) -4\) in \(\mathbb {P}^{d(d-1)}\). The general fiber of the map consists of \({\mathfrak {h}}_d\) complex points. We are curious about the Galois group \(Gal _d\) associated with this covering. Here Galois group is defined as in [16]. Informally, \(Gal _d\) is the subgroup of geometry-preserving permutations of the \({\mathfrak {h}}_d\) solutions.

Theorem 4.1

The Galois group \(Gal _3\) for cubics is the simple group of order 25920, namely

$$\begin{aligned} Gal _3=SU _4({\mathbb {F}}_2)=PSp _4(\mathbb F_3)=W(E_6)/{\pm }. \end{aligned}$$
(13)

This is the Weyl group of type \(E_6\) modulo its center, here realized as \(4\times 4\) matrix groups over the finite fields \(\mathbb F_2\) and \({\mathbb {F}}_3\). The action of \(Gal _3\) on the 40 monodromy graphs in Table 1 agrees with that of the symplectic group on the 40 points in the projective space \(\mathbb {P}^3\) over \({\mathbb {F}}_3\).

This is a modern interpretation of Clebsch’s work [9, 10] on binary sextics. We first learned about the role of the Weyl group in (13) through Elkies’ unpublished manuscript [11].

Remark 4.2

The last two columns of Table 1 identify the 40 monodromy representations with \(\mathbb {P}^3({\mathbb {F}}_3)\) and with Clebsch’s 40 cubics in [9]. The bijection we give respects the maps \(Gal _3\simeq PSp _4(\mathbb F_3)\hookrightarrow {\mathbb {S}}_{40}\). But it is far from unique. The same holds for Cayley’s table in [7].

Proof of Theorem 4.1

We consider cubics \(A=z^3+A_2(x,y)\hspace{0.55542pt}z+A_3(x,y)\). This is the normal form in (8). The discriminant equals \({{\,\textrm{discr}\,}}_z(A)=4A_2^3+27\hspace{0.66666pt}A_3^2\). Thus our task is as follows: Given a binary sextic B, compute all pairs of binary forms \((A_2,A_3)\) such that \(4A_2^3+27\hspace{0.61111pt}A_3^2=B\).

This system has 40 solutions, modulo the scaling of \(A_2\) and \(A_3\) by roots of unity. Setting \(U=\root 3 \of {4}\cdot A_2\) and\(V=\sqrt{-27}\cdot A_3\), we must solve the following problem: Given a binary sextic B, compute all decompositions into a binary quadric U and a binary cubic V:

$$\begin{aligned} B=U^3-V^2. \end{aligned}$$
(14)

This is precisely the problem addressed by Clebsch in [9, 10]. By considering the change of his labeling upon altering the base solution, he implicitly determined the Galois group as a subgroup of \({\mathbb {S}}_{40}\). The identification of this group with \(W(E_6)\) modulo its center appears in a number of sources, including [17, 27]. These sources show that \(Gal _3\) is also the Galois group of the 27 lines on the cubic surface. Todd [27] refers to permutations of the 40 Jacobian planes, and Hunt [17, Table 4.1] points to the 40 triples of trihedral pairs. The connection to cubic surfaces goes back to Jordan in 1870, and it was known to Clebsch.

As a subgroup of the symmetric group \({\mathbb {S}}_{40}\), our Galois group is generated by five permutations \(\Gamma _1,\ldots ,\Gamma _5\). These correspond to consecutive transpositions \((\gamma _i\gamma _{i+1})\) of the six loops \(\gamma _1,\gamma _2,\ldots ,\gamma _6\) in Algorithm 3.9. Each generator is a product of nine 3-cycles in \({\mathbb {S}}_{40}\). Here are the formulas for \(\Gamma _1,\ldots ,\Gamma _5\) as permutations of the 40 rows in Table 1:

$$\begin{aligned} \Gamma _1&=({\mathcal {A}}_{10}{\mathcal {A}}_6{\mathcal {A}}_1)({\mathcal {A}}_8{\mathcal {A}}_7{\mathcal {A}}_3)({\mathcal {A}}_9{\mathcal {A}}_5{\mathcal {A}}_4)({\mathcal {A}}_{17}{\mathcal {A}}_{13}{\mathcal {A}}_{12})\\&\qquad ({\mathcal {A}}_{18}{\mathcal {A}}_{14}{\mathcal {A}}_2)({\mathcal {A}}_{16}{\mathcal {A}}_{15}{\mathcal {A}}_{11})({\mathcal {E}}^r_2{\mathcal {E}}^r_6{\mathcal {E}}^r_3)({\mathcal {E}}^r_4{\mathcal {E}}^r_1{\mathcal {E}}^r_5)({\mathcal {C}}^r_3{\mathcal {C}}^r_2{\mathcal {C}}^r_1),\\ \Gamma _2&=({\mathcal {E}}^\ell _4{\mathcal {A}}_{14}{\mathcal {A}}_{10})({\mathcal {E}}^\ell _6{\mathcal {A}}_{15}{\mathcal {A}}_9)({\mathcal {E}}^\ell _2{\mathcal {A}}_{13}{\mathcal {A}}_8)({\mathcal {B}}_1{\mathcal {E}}^r_1{\mathcal {E}}^r_2)\\&\qquad ({\mathcal {D}}^r_1{\mathcal {C}}^r_2{\mathcal {C}}^r_3)({\mathcal {B}}_2{\mathcal {E}}^r_6{\mathcal {E}}^r_4)({\mathcal {E}}^\ell _5{\mathcal {A}}_7{\mathcal {A}}_{17})({\mathcal {E}}^\ell _1{\mathcal {A}}_5{\mathcal {A}}_{16})({\mathcal {E}}^\ell _3{\mathcal {A}}_6{\mathcal {A}}_{18}),\\ \Gamma _3&=({\mathcal {C}}^\ell _3{\mathcal {E}}^\ell _5{\mathcal {E}}^\ell _4)({\mathcal {C}}^\ell _1{\mathcal {E}}^\ell _1{\mathcal {E}}^\ell _2)({\mathcal {C}}^\ell _2{\mathcal {E}}^\ell _3{\mathcal {E}}^\ell _6)({\mathcal {A}}_{17}{\mathcal {A}}_{11}{\mathcal {A}}_{14})({\mathcal {A}}_{18}{\mathcal {A}}_{12}{\mathcal {A}}_{15})\\&\qquad ({\mathcal {A}}_{16}{\mathcal {A}}_2{\mathcal {A}}_{13})({\mathcal {E}}^r_2{\mathcal {E}}^r_1{\mathcal {C}}^r_1)({\mathcal {E}}^r_4{\mathcal {C}}^r_2{\mathcal {E}}^r_3)({\mathcal {C}}^r_3{\mathcal {E}}^r_6{\mathcal {E}}^r_5),\\ \Gamma _4&=({\mathcal {D}}^\ell _1{\mathcal {C}}^\ell _2{\mathcal {C}}^\ell _3)({\mathcal {E}}^\ell _6{\mathcal {B}}_2{\mathcal {E}}^\ell _5)({\mathcal {E}}^\ell _2{\mathcal {E}}^\ell _1{\mathcal {B}}_1)({\mathcal {A}}_8{\mathcal {A}}_{16}{\mathcal {E}}^r_2)\\&\qquad ({\mathcal {A}}_9{\mathcal {E}}^r_4{\mathcal {A}}_{17})({\mathcal {E}}^r_3{\mathcal {A}}_3{\mathcal {A}}_{11})({\mathcal {E}}^r_5{\mathcal {A}}_{12}{\mathcal {A}}_4)({\mathcal {A}}_{15}{\mathcal {E}}^r_6{\mathcal {A}}_7)({\mathcal {A}}_{13}{\mathcal {A}}_5{\mathcal {E}}^r_1),\\ \Gamma _5&=({\mathcal {C}}^\ell _3{\mathcal {C}}^\ell _2{\mathcal {C}}^\ell _1)({\mathcal {E}}^\ell _4{\mathcal {E}}^\ell _6{\mathcal {E}}^\ell _2)({\mathcal {E}}^\ell _5{\mathcal {E}}^\ell _3{\mathcal {E}}^\ell _1)({\mathcal {A}}_{10}{\mathcal {A}}_9{\mathcal {A}}_8)({\mathcal {A}}_{17}{\mathcal {A}}_{18}{\mathcal {A}}_{16})\\&\qquad ({\mathcal {A}}_4{\mathcal {A}}_3{\mathcal {A}}_1)(\mathcal A_{11}{\mathcal {A}}_{12}{\mathcal {A}}_2)({\mathcal {A}}_{14}\mathcal A_{15}{\mathcal {A}}_{13})({\mathcal {A}}_7{\mathcal {A}}_6{\mathcal {A}}_5). \end{aligned}$$

A compatible bijection with the labels of Clebsch [9, Sect. 9] is given in the second-to-last column in Table 1. The last column gives a bijection with the 40 points in the projective space \(\mathbb {P}^3\) over the three-element field \({\mathbb {F}}_3\). This bijection is compatible with the action of the matrix group \(PSp _4({\mathbb {F}}_3)\). Here, the five generators above are mapped to matrices of order 3:

$$\begin{aligned} \Gamma _1=\begin{bmatrix}1&{}\quad 1&{}\quad 2&{}\quad 0\\ 0&{}\quad 1&{}\quad 0&{}\quad 0\\ 0&{}\quad 0&{}\quad 1&{}\quad 0\\ 0&{}\quad 1&{}\quad 2&{}\quad 1\end{bmatrix}\!,\qquad \Gamma _2=\begin{bmatrix} 1&{}\quad 0&{}\quad 0&{}\quad 0\\ 2&{}\quad 1&{}\quad 0&{}\quad 2\\ 1&{}\quad 0&{}\quad 1&{}\quad 1\\ 0&{}\quad 0&{}\quad 0&{}\quad 1\end{bmatrix}\!,\qquad \Gamma _3=\begin{bmatrix}1&{}\quad 1&{}\quad 0&{}\quad 0\\ 0&{}\quad 1&{}\quad 0&{}\quad 0\\ 0&{}\quad 0&{}\quad 1&{}\quad 0\\ 0&{}\quad 0&{}\quad 0&{}\quad 1\end{bmatrix}\!,\\ \Gamma _4=\begin{bmatrix}1&{}\quad 0&{}\quad 0&{}\quad 0\\ 2&{}\quad 1&{}\quad 0&{}\quad 1\\ 2&{}\quad 0&{}\quad 1&{}\quad 1\\ 0&{}\quad 0&{}\quad 0&{}\quad 1\end{bmatrix}\!,\qquad \Gamma _5=\begin{bmatrix}1&{}\quad 1&{}\quad 1&{}\quad 0\\ 0&{}\quad 1&{}\quad 0&{}\quad 0\\ 0&{}\quad 0&{}\quad 1&{}\quad 0\\ 0&{}\quad 2&{}\quad 2&{}\quad 1\end{bmatrix}\!. \end{aligned}$$

These are symplectic matrices with entries in \({\mathbb {F}}_3\), modulo scaling by \(({\mathbb {F}}_3)^*=\{\pm 1\}=\{1,2\}\). A computation using GAP [29] verifies that these groups are indeed isomorphic. In the notation of the atlas of simple groups, our Galois group (13) is the group \(O_5(3)\).\(\square \)

Remark 4.3

The fundamental group of the configuration space of six points in the Riemann sphere \(\mathbb {P}^1\) is the braid group \(B_6\), which therefore maps onto the finite group \(Gal _3\). One checks that the permutations and matrices listed above satisfy the braid relations that define \(B_6\):

$$\begin{aligned} \Gamma _i\Gamma _{i+1}\Gamma _i=\Gamma _{i+1}\Gamma _i\Gamma _{i+1}\ \ \hbox {for} \ i=1,2,3,4 \hbox {}\quad \ \text {and}\ \quad \Gamma _i\Gamma _j=\Gamma _j\Gamma _i\ \ \text {for} \ |i-j|\ge 2. \end{aligned}$$

We conclude from Theorem 4.1 that our recovery problem for cubics is solvable in radicals.

Corollary 4.4

Starting from a given ternary cubic A, the 39 other solutions (UV) to the equation (14) can be written in radicals in the coefficients of the binary forms \(A_2\) and \(A_3\).

Proof

Viewing \(Gal _3\) as a group of permutations on the 40 solutions, we consider the stabilizer subgroup of the one given solution. That stabilizer has order \(25920/40=3\cdot 216\), and this is the Galois group of the other 39 solutions. It contains the Hesse group \(ASL _2({\mathbb {F}}_3)\) as a normal subgroup of index 3. Recall that \(ASL _2({\mathbb {F}}_3)\) is solvable, and has order 216. It is the Galois group of the nine inflection points of a plane cubic [16, Sect. II.2]. Therefore the stabilizer is solvable, and hence (UV) is expressable in radicals over \((A_2,A_3)\). \(\square \)

Clebsch explains how to write the 39 solutions in radicals in the coefficients of \((A_2,A_3)\). We now give a brief description of his algorithm, which reveals the inflection points of a cubic.

Algorithm 4.5

Our input is a pair \((A_2,A_3)\) that represents a cubic A as in (8). We set \({\tilde{U}}=\root 3 \of {4}\cdot A_2\) and \({\tilde{V}}=\sqrt{-27}\cdot A_3\). Our output is the list of all pairs (UV) that satisfy

$$\begin{aligned} U^3-{{\tilde{U}}}^3=V^2-{{\tilde{V}}}^2. \end{aligned}$$
(15)

Real solutions of (7) correspond to pairs (UV) such that U and iV are real, where \(i=\sqrt{-1}\). To solve (15), consider the cubic \(\mathcal C=\{(x\,{:}\,y\,{:}\,z)\in \mathbb {P}^2:z^3-3{\tilde{U}}z+2{\tilde{V}}=0\}\). The nine inflection lines of \({\mathcal {C}}\) are defined by the linear forms \(\xi =\alpha x+\beta y\) such that \(\xi ^3-3{\tilde{U}}\xi +2\tilde{V}\) is the cube of a linear form \(\eta =\gamma x+\delta y\). We write the coefficients \(\alpha ,\beta \) of such \(\xi \) in radicals. Here, the Galois group is \(ASL _2({\mathbb {F}}_3)\). We next compute \((\gamma ,\delta )\) from \(\eta ^3=\xi ^3-3{\tilde{U}}\xi +2{\tilde{V}}\). For each of the pairs \((\alpha ,\beta )\) above, this system has three solutions \( (\gamma ,\delta )\in \mathbb {C} ^2\). This leads to 27 vectors \((\alpha ,\beta ,\gamma ,\delta )\), all expressed in radicals. For each of these we set \(U={\tilde{U}}-\xi ^2-\xi \eta -\eta ^2\). Then

$$\begin{aligned} U^3-({{\tilde{U}}}^3-{{\tilde{V}}}^2)=-\frac{3}{4}\hspace{0.55542pt}(\eta ^3+2\eta ^2\xi +2\eta \xi ^2+\xi ^3-2\eta {\tilde{U}}-\xi {\tilde{U}})^2. \end{aligned}$$

The square root of the right hand side is a binary cubic V, and the pair (UV) satisfies (15). In this manner we construct 27 solutions to (7), three for each inflection point of the curve \({\mathcal {C}}\). Three of the nine inflection points are real, and each of them yields one real solution to (7).

We finally compute the \(12=39-27\) remaining solutions, of which four are real. For this, we label the inflection points of \({\mathcal {C}}\) by \(1,2,\ldots ,9\) such that the following triples are collinear:

$$\begin{aligned} \underline{123},456,789,\quad \underline{147},\underline{258},\underline{369},\quad 159,267,348,\quad 168,249,357. \end{aligned}$$
(16)

If 1, 2, 3 are real and \(\{4,7\},\{5,8\},\{6,9\}\) are complex conjugates, then precisely the four underlined lines are real. Our labeling agrees with that used by Clebsch in [9, Sect. 9, p. 50]. We now execute the formulas in [9, Sects. 11 and 12]. For each of the 12 lines in (16), we compute two solutions (UV) of (15). These are expressed rationally in the data \((\alpha ,\beta )\) found above. Each new solution (UV) arises twice from each triple of lines in (16), so we get 12 in total.

5 Quartics: Del Pezzo Strikes Again

This section features threads from algebraic geometry that inform our recovery problem for quartics. We begin with the extension of Corollary 3.8 from \(d=3\) to \(d=4\). In other words, we determine the plane counterparts to the real Hurwitz numbers in Theorem 3.7.

Theorem 5.1

Consider the polynomial system (9) for recovering quartics, where the parameters \(\beta _{ij}\) are generic reals. The number of real solutions equals 8, 16, 24, 32, 64, or 120.

Proof

We use the connection to del Pezzo surfaces of degree one and tritangents of space sextic curves, described by Vakil in [28] and further studied in [8, 15, 21]. We recall some parts of Vakils construction, and we examine what changes when passing from the complex numbers to the real numbers.

The open set \({\mathcal {B}}\) of \(\mathbb {P}(3^5,2^7)\) is birational to the hypersurface \({\mathcal {Z}}\) in \(\mathbb {P}^{12}\) which parametrizes possible branch data. Hence we obtain from a general binary form B in \({\mathcal {Z}}\) an element \((U_2,U_3)\) of \(\mathbb {P}\hspace{0.3888pt}(3^5,2^7)\). Fix the space sextic \({\mathcal {C}}\) by \(X_2^3+U_2(X_0,X_1)\hspace{0.49988pt}X_2+U_3(X_0,X_1)\) in the singular cone \(\mathbb {P}\hspace{0.33325pt}(1,1,2)\). Sending \((U_2,U_3)\) to \({\mathcal {C}}\) gives the isomorphism \(\mathcal B\cong {\mathcal {E}}\) in [28, Thm. 2.12], where \({\mathcal {E}}\) is the space of genus 4 curves whose canonical model lies on a quadric cone in \(\mathbb {P}^3\).

In the complex setting taking a double cover of \(\mathbb {P}\hspace{0.33325pt}(1,1,2)\) branched over \({\mathcal {C}}\) gives a del Pezzo surface of degree one, together with involution \(\iota \), called the Bertini involution. Over the real numbers we obtain two different del Pezzo surfaces, depending on the choice of a sign. We denote the two distinct real surfaces by X and \(X'\). Upon base change to the complex numbers, the surfaces \(X_\mathbb {C} \) and \(X'_\mathbb {C} \) become isomorphic.

The possible topological types of real del Pezzo surfaces have been classified by several authors. We here follow the work of Russo [25]. Blowing down a \((-1)\)-curve L on \(X_\mathbb {C} \) gives a del Pezzo surface of degree 2 which is a double cover of a unique real plane quartic. The Bertini involution \(\iota \) of X maps L to a \((-1)\)-curve giving the same quartic. The pair \(\{L,\iota (L)\}\) produces a real quartic curve if and only if is invariant under the complex conjugation on \(X_\mathbb {C} \). In this case we call it a real Bertini pair. The real plane Hurwitz number is the number of real Bertini pairs on X. Mapping L to a line in the cone \(\mathbb {P}(1,1,2)\) gives a tritangent to the space sextic \({\mathcal {C}}\) [25, Exam. 4]. In this way, the real tritangents of \({\mathcal {C}}\) are the same as the real Bertini pairs. The former have been counted. We reproduce the table in [25, Cor. 5.3] in Table 2 and explain his notation for the types of del Pezzo surfaces.

First, we have the del Pezzo surfaces of blowup type: The surface obtained by blowing up 2r real points and \(4-r\) complex conjugate pairs of points is denoted by \(\mathbb {P}^2(2r,8-2r)\). With the Bertini involution one can define the real structure denoted by \(\mathbb B_1\). Similarly, the Geiser involution on real del Pezzo surfaces of degree 2 give rise to the real surface \({\mathbb {G}}_2\). Finally, the birational de Jonquieres involutions of the plane give rise to del Pezzo surfaces \({\mathbb {D}}_2\) and \({\mathbb {D}}_4\), where the index indicates the degree. \(\square \)

Table 2 \({\mathfrak {h}}_4^real (B)\) is the number of real Bertini pairs

Remark 5.2

Algorithm 2.10 is consistent with Theorem 5.1. Given binary forms \(U_2,U_3\) with real coefficients, it outputs 8, 16, 24, 32, 64, or 120 real quartics in the subspace \(L_4\).

Corollary 5.3

From any general configuration \(\mathcal P=\{P_1,P_2,\ldots ,P_8\}\subset \mathbb {P}^2\) with coordinates in \(\mathbb {Q}\), we obtain an instance of (9) whose 120 complex solutions A all have coefficients in \(\mathbb {Q}\).

Proof

We construct the 120 quartics A with rational arithmetic from the coordinates in \({\mathcal {P}}\). Fix j and let w be a cubic that vanishes on \({\mathcal {P}}\setminus \{P_j\}\) but does not vanish at \(P_j\). Consider the 2-1 map \(\mathbb {P}^2\dashrightarrow \mathbb {P}^2\) given by \((u\,{:}\,v\,{:}\,w)\). The branch locus of this map is a quartic curve.

We claim that this is the quartic Q that corresponds to the exceptional fiber of the blow-up at \(P_j\) in Vakil’s construction. Indeed, let X be the blowup of \({\mathbb {P}}^2\) at all the nine base points of the pencil (u : v) and let \(C\subseteq X\) be a general curve in the pencil. The intersection of the quartic Q with C is given by [28, Prop. 3.1] as the set of points \(p\in C\) such that \({\mathcal {O}}_C(2p)\cong {\mathcal {O}}_C(E_0+E_1)\). Alternatively, these are exactly the branch points of the map \(C\rightarrow {\mathbb {P}}^1\) induced by the linear system of \(\mathcal O_C(E_0+E_1)\). Thus, we are done if we can prove that the restriction of the map \((u\,{:}\,v\,{:}\,w):X\rightarrow {\mathbb {P}}^2\) is given exactly by the linear system above. However, the map of \((u\,{:}\,v\,{:}\,w)\) on X corresponds to the complete linear system \(L=3H-E_2-\cdots -E_8=-K_X+E_0+E_1\) so that \(\mathcal O_C(L)\cong {\mathcal {O}}_C(-K_X+E_0+E_1)\) and we need to show that \({\mathcal {O}}_C(-K_X)\cong {\mathcal {O}}_C\). But this follows from the adjunction formula, using the fact that C is an elliptic curve moving in a pencil.

Thus, we can recover the quartic as this branch locus of our 2-1 map \(\mathbb {P}^2\dashrightarrow \mathbb {P}^2\). The ternary form A that defines this branch locus can be computed from the ideals of \({\mathcal {P}}\) and \(P_j\) using Gröbner bases, and this uses rational arithmetic over the ground field. This yields eight of the 120 desired quartics. The remaining 112 quartics are found by repeating this process after some Cremona transformations have been applied to the pair \((\mathbb {P}^2,{\mathcal {P}})\). These transformations use only rational arithmetic and they preserve the del Pezzo surface, but they change the collection of eight \((-1)\)-curves that are being blown down. \(\square \)

The following two algorithms provide more details on the steps in the proof above.

Algorithm 5.4

The input is a set \({\mathcal {P}}\) of eight rational points in \(\mathbb {P}^2\). The output is eight quartics \(A\in \mathbb {Q}\hspace{0.3888pt}[x,y,z]\) that share the same z-discriminant. These are the quartics corresponding to the eight exceptional divisors \(E_i\). Write \((r\,{:}\,s\,{:}\,t)\) for the coordinates of the \(\mathbb {P}^2\) that contains \({\mathcal {P}}\). We start by setting up the following ideal in \(\mathbb {Q}\hspace{0.49988pt}[r,s,t,x,y,z]\):

$$\begin{aligned} I=\left\langle 2\times 2~ \text {minors of}\ \begin{bmatrix}u&{}v&{}w\\ x&{}y&{}z\end{bmatrix}\right\rangle +\left\langle \det \begin{bmatrix}\partial u/\partial r&{}\partial u/\partial s&{}\partial u/\partial t\\ \partial v/\partial r&{}\partial v/\partial s&{}\partial v/\partial t\\ \partial w/\partial r&{}\partial w/\partial s&{}\partial w/\partial t\\ \end{bmatrix}\right\rangle . \end{aligned}$$
(17)

Saturate I with respect to the ideal of \(\mathcal P{\setminus }\{P_j\}\). After that step, eliminate the three variables rst. The result is a principal ideal in \(\mathbb {Q}\hspace{0.3888pt}[x,y,z]\) whose generator is the quartic A. We perform the above two steps for \(j=1,2,\ldots ,8\), and we output the resulting eight quartics.

Our second algorithm concerns the Cremona transformations mentioned in the proof.

Algorithm 5.5

Our input is a set \({\mathcal {P}}\) of eight rational points in \(\mathbb {P}^2\). The output is the remaining set of 112 quartics \(A\in \mathbb {Q}\hspace{0.3888pt}[x,y,z]\) that also have same z-discriminant. Fix a basis of cubics uv passing through \({\mathcal {P}}\). Choose a triple \(\{P_i,P_j,P_k\}\) and set up the associated quadratic Cremona transformation \(\mathbb {P}^2\dashrightarrow \mathbb {P}^2\). This transforms \({\mathcal {P}}\) into a new configuration \({\mathcal {P}}'\) and it corresponds to an automorphism of the del Pezzo surface. Apply Algorithm 5.4 to \(\mathcal P'\) and record the resulting eight quartics. In applying Algorithm 5.4, we need some care in choosing a basis \(\{u',v'\}\) for the cubics vanishing at \({\mathcal {P}}'\): we should choose them in such a way that the elliptic pencil \((u'\,{:}\,v'):{\mathbb {P}}^2\dashrightarrow {\mathbb {P}}^1\) is the composition of the original pencil \((u\,{:}\,v):\mathbb P^2\dashrightarrow {\mathbb {P}}^1\) and the quadratic Cremona transformation. This ensures that the quartics share the same z-discriminant with the original eight quartics. We now repeat this process until 120 inequivalent quartics have been found. This is possible because the Cremona transformations act transitively on the set of \((-1)\) curves on the del Pezzo surface.

Remark 5.6

If we use Algorithm 5.5 to construct branched covers from real plane quartics then we cannot obtain 24 real solutions. This is because the associated surfaces are not of blowup type, see Table 2. Nonetheless we found instances with real plane Hurwitz number 24 by constructing a sextic \({\mathcal {C}}\) which has this number of tritangents. It can be seen in Fig. 1. The equation of \({\mathcal {C}}\) gives us \((U_4,U_6)\in {\mathcal {B}}\) and with Algorithm 2.10 we recover 24 quartics.

Fig. 1
figure 1

A space sextic with exactly 24 real tritangents

Using Algorithm 5.4, we can find one quartic A and hence the binary form \(B={{\,\textrm{discr}\,}}_z(A)\) using rational arithmetic. However, there is an even more direct method which also shows that B does not depend on the choice of the point \(P_j\). Namely, B encodes the 12 singular curves in the pencil of cubics through \({\mathcal {P}}\). Based on this observation, we derive our final result:

Theorem 5.7

Let B be the binary form of degree 12 computed from a real configuration \({\mathcal {P}}\). Suppose 2r of the eight points in \({\mathcal {P}}\) are real and 2s of the 12 zeros of B are real. Then \(r\le s\). Conversely, for all valid parameters \(r\le s\), some configuration \({\mathcal {P}}\) realizes the pair (rs).

Proof

The 12 points in \({\mathbb {P}}^1\) which are zeros of B correspond to the singular fibers under the map \({\mathbb {P}}^2\rightarrow \mathbb P^1\): \((x\,{:}\,y\,{:}\,z)\mapsto (u\,{:}\,v)\). This map is given by two cubics uv through \({\mathcal {P}}\). Algebraically, we seek points \((\alpha \,{:}\,\beta )\in {\mathbb {P}}^1\) such that the cubic \(\beta \cdot u-\alpha \cdot v\) is singular. There are 12 such singular cubics, and the question is how many of those can be real. The Welschinger invariant \(W_r({\mathbb {P}}^2,3)\) is a signed count of real singular cubics passing through 2r real points and \(4-r\) pairs of complex conjugate points. One counts a singular cubic with a hyperbolic node with a positive sign and one with an elliptic node with a negative sign. By definition, \(W_r({\mathbb {P}}^2,3)\le 2s\), the number of real solutions. [26, Exam. 4.3] provides a tropical computation of the Welschinger invariants for cubics and yields \(W_r({\mathbb {P}}^2,3)=2r\). We conclude \(2r\le 2s\). The last sentence in Theorem 5.7 is proved with a direct calculation. By sampling from rational configurations \(\mathcal P=\{P_1,\ldots ,P_8\}\), we found instances for all (rs) with \(0\le r\le s\le 6\) and \(r\le 4\). These can be found at our MathRepo website https://mathrepo.mis.mpg.de/BranchPoints/. \(\square \)

Remark 5.8

If we take one real quartic Q corresponding to our real configuration \({\mathcal {P}}\), then we can see which of the 2r real tangents belong to elliptic nodal cubics. To see this recall how to construct an elliptic fibration from Q. We blow up the point \((0\,{:}\,0\,{:}\,1)\) and then take a double cover branched over the quartic [28, Sect. 2.1]. The nodal fibers are the preimages of the tangents of Q passing through the base point. The ovals of Q divide \(\mathbb {P}^2_\mathbb {R}\) into connected components. We mark the component containing \((0\,{:}\,0\,{:}\,1)\) with a \(+\), and we proceed so that adjacent components have opposite signs. Let L be one of the 2r real tangents and q be its point of tangency with Q. If L lies in a positive component in a neighborhood of q, then L gives a hyperbolic node. Otherwise the preimage of L in the fibration is an elliptic node. One proves this by writing down the equation of the double cover in a suitable affine neighborhood of q. The case of ten hyperbolic nodal curves can be seen in Fig. 2.

Fig. 2
figure 2

A real quartic with 12 real tangents