Efficient computation of the branching structure of an algebraic curve
  An efficient algorithm for computing the branching structure of a compact Riemann surface defined via an algebraic curve is presented. Generators of the fundamental group of the base of the ramified covering punctured at the discriminant points of the curve are constructed via a minimal spanning tree of the discriminant points. This leads to paths of minimal length between the points, which is important for a later stage where these paths are used as integration contours to compute periods of the surface. The branching structure of the surface is obtained by analytically continuing the roots of the equation defining the algebraic curve along the constructed generators of the fundamental group. 
J. Frauendiener, C. Klein, V. Shramchenko
cs.CG math.AG