compute the period matrix of an algebraic curve
periodmatrix(f, x, y, opt)
irreducible polynomial in x and y
The periodmatrix(f, x, y, opt) command computes the period matrix of a Riemann surface represented as a plane algebraic curve; that is, as a polynomial f in two variables x and y. The Riemann surface is the covering surface for y as an N-valued function of x, where N=degree⁡f,y is the degree of the covering. Curves with singularities are allowed.
The output is a g by 2*g Matrix P=A⁢B, where g is the genus of the Riemann surface and A and B are both g by g matrices. The matrix elements are integrals of holomorphic differentials over the basis elements of a canonical basis for the homology. Ai,j is the integral of the ith holomorphic differential around cycle a[j], and Bi,j is the integral of the ith holomorphic differential around cycle b[j].
The canonical homology basis that was used to compute the period matrix can be viewed by the command homology(f,x,y), which is an implementation of Tretkoff's algorithm. To see the basis of the holomorphic differentials that was used, divide the polynomials in differentials(f, x, y, skip_dx) by diff(f, y).
This command can take a lot of time. It requires the calculation of the monodromy, the homology, and the holomorphic differentials of the Riemann surface. The most time-consuming, however, is the numerical integration over the paths given in the homology basis. To make periodmatrix print information about its status while it is working, give the variable infolevel[algcurves] an integer value >= 1.
If the optional argument Riemann is given, the result is a g by g square matrix. This matrix is Z=A−1⁢B. It is called a Riemann matrix associated with the Riemann surface. Its relevance is explained in the standard references given previously. The matrix I⁢Z=A−1⁢P where I is the identity matrix is called a normalized period matrix. This is a period matrix of the same homology basis, but with a different basis of the differentials. This basis of differentials is such that the integral of the ith differential over a[j] equals 1 if i=j, and equals 0 otherwise. Sometimes the Riemann matrix is defined differently, namely as 2*Pi*I times the previous matrix Z.
The Riemann matrix Z is symmetric and its imaginary part is positive definite. Even though the period matrix P=A⁢B depends on the choice of the differentials, the Riemann matrix Z is independent of this choice. However, the Riemann matrix Z depends on the choice of the canonical basis of the homology. Different choices of the homology lead to equivalent Riemann matrices.
If the optional argument showpaths is given, it is passed to the monodromy procedure. A plot is generated that displays the paths used for the analytic continuation during the calculation of the monodromy and the numerical integration of the holomorphic differentials.
The accuracy of the numerical computations can be chosen by setting the global variable Digits. In general, periodmatrix tries to get at least Digits-3 decimals correct. The errors are estimated by taking the largest absolute value of the entries of matrix Z−transpose⁡Z. If this number is greater than (1/10)^(Digits-3), a warning message is printed.
f ≔ y3+x4+x2
P ≔ periodmatrix⁡f,x,y:
Z ≔ periodmatrix⁡f,x,y,Riemann
The exact answer is:
r3 ≔ −33:M ≔ Matrix⁡2,2,1+2⁢r3,−1−r3,−1−r3,1+2⁢r3
So the error is:
Deconinck, B., and van Hoeij, M. "Computing Riemann Matrices of Algebraic Curves." Physica D Vol. 152-153, (2001): 28-46.
Dubrovin, B. A. "Theta-functions and Nonlinear Equations." Russian Mathematical Surveys Vol. 36(2), (1981):11-92.
Farkas, H. M., and Kra, I. Riemann Surfaces. New York: Springer-Verlag, 1992.
Springer, G. Introduction To Riemann Surfaces. New York: Chelsea Publishing, 1981.
Download Help Document