# Computing Riemann surfaces of a given algebraic function

I've never seen written in a book a way or an algorithm for computing Riemann surfaces of a given algebraic function. I would like to know how to construct such Riemann surface using intuitive cutting and pasting techniques as people used to do long time ago.

In general, the general statement is that given $Y$ a Riemann surface and some polynomial $P(T) \in \mathscr{M}(Y)[T]$ of degree $n$, one can find another Riemann surface $X$ such that $\pi: X \longrightarrow Y$ is an holomorphic $n$-branched covering and a meromorphic function $F \in \mathscr{M}(X)$ such that $\pi^{*}(P(F)) =0$. So, in summary, given a Riemann surface and a multivalued function one can always find another Riemann surface such that the multivalued function is a meromorphic function.

However the proof of the statement above, in general, is done by constructing $X$ with the sheaf of holomorphic functions (as an étale space) and extending germs (to get the "monodromy" information). Therefore, the proof does not show a general way of computing such surfaces.

Furthermore, I would be glad if someone could show a good example of such construction.

Thanks in advance.

• Following the pattern of algebraic geometry, it seems like it would be worth looking at the vanishing locus of $P$ considered as a meromorphic function on the complex manifold $Y \times \mathbb{C}$... – Zhen Lin Feb 26 '14 at 12:02
• You might have a look at Mika Seppala's paper "Myrberg's Numerical Uniformization of Hyperelliptic Curves." I am not sure if it is related to what you are looking for. – yaa09d Feb 27 '14 at 9:04
• You should specify what to you mean by "computing". In what form do you want the description of the Riemann surface as a result of your computation? – Alexandre Eremenko Mar 29 '15 at 17:36
• @AlexandreEremenko I was hoping for a draw or something like this. Something like cut from this edge then glue with this other…something like this, as people used to do (see, for instance, Markushevich book on Riemann surfaces). – user40276 Mar 30 '15 at 1:40

## 1 Answer

Given the algebraic function: $$f(z,w)=a_0(z)+a_1(z)w+\cdots+a_n(z)w^n=0$$, we can compute the genus of the Riemann surface by computing the branch cycles around each finite singular point and at infinity. The finite singular points are given by $R(f,f_w)=0$ where R is the resultant and $f_w$ is the partial of f with respect to w. The branching cycles can, for reasonably-behaved functions be computed numerically albeit this is of course not rigorous however it does give us a starting point. Take a random 5-degree function: $$f(z,w)=w^5 \left(2 z^2-8\right)+w^4 \left(8 z^2+2\right)+w^3 \left(-6 z^2-8\right)-6 w^2 z-3 w z^2-4 z^2+4 z$$. The branch table below (ignore the numbers in the far right column) is a bit messy but still by Riemann-Hurwitz, we have $g=1-5+1/2(16)=4$. It is however not easy to analytically construct the Riemann surface except for very simple functions although we know in general what the more complicated ones look like. In the case above, it's a 4-hole torus. $$\left(\left( \begin{array}{cccc} 1 & 0 & \{\{1,5,2\},\{3\},\{4\}\} & 4 \\ 2 & -0.08129814-0.18533216 i & \{\{1\},\{2,4\},\{3\},\{5\}\} & 6 \\ 3 & -0.08129814+0.18533216 i & \{\{1\},\{2,4\},\{3\},\{5\}\} & 6 \\ 4 & 0.69671009-0.66677987 i & \{\{1\},\{2\},\{3\},\{4,5\}\} & 6 \\ 5 & 0.69671009+0.66677987 i & \{\{1\},\{2\},\{3\},\{4,5\}\} & 6 \\ 6 & -1.00915274-0.22658631 i & \{\{1\},\{2,4\},\{3\},\{5\}\} & 6 \\ 7 & -1.00915274+0.22658631 i & \{\{1\},\{2,4\},\{3\},\{5\}\} & 6 \\ 8 & 1.07396604-0.09219116 i & \{\{1,3\},\{2\},\{4\},\{5\}\} & 6 \\ 9 & 1.07396604+0.09219116 i & \{\{1,3\},\{2\},\{4\},\{5\}\} & 6 \\ 10 & 0.58751582-1.04687347 i & \{\{1,3\},\{2\},\{4\},\{5\}\} & 6 \\ 11 & 0.58751582+1.04687347 i & \{\{1,3\},\{2\},\{4\},\{5\}\} & 6 \\ 12 & 0.09075889-1.28232450 i & \{\{1,2\},\{3\},\{4\},\{5\}\} & 6 \\ 13 & 0.09075889+1.28232450 i & \{\{1,2\},\{3\},\{4\},\{5\}\} & 6 \\ 14 & -1.3875744 & \{\{1\},\{2\},\{3\},\{4,5\}\} & 6 \\ 15 & 1.4687741 & \{\{1\},\{2\},\{3\},\{4,5\}\} & 6 \\ 16 & -2.0000000 & \left( \begin{array}{c} 1 \\ 2 \\ 3 \\ 4 \\ 5 \\ \end{array} \right) & 7 \\ 17 & 2.0000000 & \left( \begin{array}{c} 1 \\ 2 \\ 3 \\ 4 \\ 5 \\ \end{array} \right) & 7 \\ 18 & \infty & \left( \begin{array}{c} 1 \\ 2 \\ 3 \\ 4 \\ 5 \\ \end{array} \right) & 7 \\ \end{array} \right)\right.$$

• Thanks for your answer. This was not exactly what I was looking for, though. As I stated, I was after a method by cutting and pasting. Now I know more or less how to do this by drawing lines linking the poles and zeros and also $0$ and $\infty$ (although, it's required to include these last two, but it simplifies stuff). Then one have to cut these lines and test the way the function changes by passing through the line to determine how to glue. But I'm still looking for a proof that this works in general. – user40276 Apr 1 '18 at 20:55