# Branch points of an equation

I was reading the Mathematica Guidebook to Symbolics by Michael Trott, and saw the following expression to evaluate the branch points of a Riemann surface given by $f(x,a)=x^3+x^2+ax-1/2$.

Eliminate[{#==0},D[#,x]==0},x]&[eq=x^3+x^2+ax-1/2]


This gives the result $36a-4a^2+16a^3+19=0$. The roots of this equation are the branch points of $f(x,a)$.

My question is: Why is this so? How does eliminating $x$ from $f(x,a)=0$ and $\dfrac{df(x,a)}{dx}=0$ lead us to the solution?

NOTE: I'm not asking for an explanation of the Mathematica command... I don't get the math behind it.

-

Imagine the plane $(x,a)$ where the equation $f(x,a)=0$ gives a curve $C$. We project the curve onto the $a$-axis. Branch points are the points on the $a$ axis over which the projection "is not so nice". You can imagine e.g. the points over which the projection "folds", e.g. if $f(x,a)=x^2-a$ then $a=0$ is such a point.

Now you have to imagine, though, that $a$ and $x$ are complex numbers (and hence $a$ is a point in a plane, and $C$ is 2-dimensional). Over a general point $a$ the equation $f(x,a)=0$ has $n$ different solutions (for $x$), where $n$ is the degree of $f$ as a polynomial in $x$ (in your case $n=3$). We have $n$ different solutions iff $f(x,a)=0$ and $df(x,a)/dx=0$ (for this given $a$) don't have a common root. Over such points $C$ covers the plane of $a$'s in $n$ sheets. When, however, $f(x,a)=0$ and $df(x,a)/dx=0$ do have a common root, the number of roots of $f(x,a)=0$ is less than $n$, so over these points $a$ some of the sheets meet. These are the branch points. In fact, what happens, if you go around such a point then you would see that you get from one sheet (also called one "branch") to another. That's why these points are called branching.

(I skipped some unimportant technical details)

-
But number of roots less than $n$ could happen even in the case of a double root, right? Needn't necessarily be a branch point. How does eliminating $x$ in this case help? –  user7815 Mar 23 '11 at 21:04
The common roots of $f(x,a)=0$ and of $df(x,a)/dx=0$ (for a fixed $a$) are precisely the multiple roots of $f(x,a)=0$. (In those skipped technical details I assumed e.g. that $f$ is irreducible as a polynomial in 2 variables - that implies that a multiple root happens only for finitely many $a$'s). In principle the fact that $f(x,a)$ has a multiple root (equivalently, has less than $n$ roots) is only a necessary condition for $a$ being a branch point. (again a technical detail) It means that the algorithm you described is not quite right - it might some false positives. –  user8268 Mar 23 '11 at 22:55
The point I don't understand is how does eliminating $x$ from $f(x,a)$ and its derivative help? What does the resulting function $g(a)$ mean w.r.t. the original function? –  user7815 Mar 23 '11 at 23:34
The question is: for which values of $a$ does the polynomial $f(x,a)$ (as a polynomial in $x$) have multiple roots (ie. less than $n$ roots)? A root is multiple iff it's also a root of $df(x,a)/dx$. Hence you want to know whether $f(x,a)=0$ and $df(x,a)/dx=0$ have a common solution (for a fixed $a$). That's what "elimination of $x$" does: it gives an equation for $a$ s.t. you have a common root of $f$ and $df/dx$ exactly for the solutions of that equation –  user8268 Mar 24 '11 at 6:17
Branch points will occur at values of $x$ which are double or higher roots of $f(x,a)=0$, that is, where $f(x,a)$ and $f_x(x,a)$ have common zeros. "Elimination of x from $f(x,a)$ and $f_x(x,a)$" amounts to running the Euclidean algorithm on $f$ and $f'$, where the field of coefficients is rational functions of $a$ with complex coefficients. The expression the algorithm produces is the (non-zero, constant) GCD, unless $f(x,a)$ and $f_x(x,a)$ have a common factor for every $a$, as in $f(x,a)=(x-a)^2$. Avoiding that kind of degeneracy, for only finitely-many values of $a$ that GCD vanishes, which shows a non-trivial GCD.