A Riemann surface object is defined by an affine plane equation f(x, y) = 0 in the following way. The Riemann surface X associated to the equation f(x, y) = 0, denoted X : f = 0 is the set of complex points of the non-singular model of the projective closure C of the affine curve defined by f(x, y) = 0, i.e., X = C(C).
There are two different types of Riemann surface in Magma for which two different sets of algorithms are used, depending on the defining equation f = 0.
The main application of this Riemann surface package is to numerically approximate a period matrix Ω that describes the analytic Jacobian J(C) = Cg / Ω Z2g of the curve C and associated Abel--Jacobi map A : X -> J up to some prescribed precision D, where the number of decimal digits D can be specified by the user. The aim is that numerical computations should be correct up to an absolute error of 10 - D + 1 using heuristic error estimates.
The Riemann surface type is called RieSrf.
The algorithms for general Riemann surfaces are described in [Neu18, Chapter 4]. The algorithms for the superelliptic case are based on a paper by Molin and Neurohr [MN17]; more details can be found in [Neu18, Chapter 5]. Finally, the algorithms used for numerical integration are described in more detail in [Neu18, Chapter 3].