  A purely numerical approach to compact Riemann surfaces starting from plane
algebraic curves is presented. The critical points of the algebraic curve are
computed via a two-dimensional Newton iteration. The starting values for this
iteration are obtained from the resultants with respect to both coordinates of
the algebraic curve and a suitable pairing of their zeros. A set of generators
of the fundamental group for the complement of these critical points in the
complex plane is constructed from circles around these points and connecting
lines obtained from a minimal spanning tree. The monodromies are computed by
solving the defining equation of the algebraic curve on collocation points
along these contours and by analytically continuing the roots. The collocation
points are chosen to correspond to Chebychev collocation points for an ensuing
Clenshaw-Curtis integration of the holomorphic differentials which gives the
periods of the Riemann surface with spectral accuracy. At the singularities of
the algebraic curve, Puiseux expansions computed by contour integration on the
circles around the singularities are used to identify the holomorphic
differentials. The Abel map is also computed with the Clenshaw-Curtis algorithm
and contour integrals. As an application of the code, solutions to the
Kadomtsev-Petviashvili equation are computed on non-hyperelliptic Riemann
surfaces.
