|
Calling Sequence
|
|
homology(f, x, y)
|
|
Parameters
|
|
f
|
-
|
irreducible polynomial in x and y
|
x
|
-
|
variable
|
y
|
-
|
variable
|
|
|
|
|
Description
|
|
•
|
This procedure is an implementation of an algorithm given in "Combinatorial Group Theory, Riemann Surfaces and Differential Equations", C.L. Tretkoff and M.D. Tretkoff, Contemporary Mathematics, Vol 33, 1984. This algorithm computes cycles that form a basis for the homology of a Riemann surface given 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 is the degree of covering. The number is the genus of the Riemann surface. These cycles have the following intersection indices: () have intersection number 1, and all others (), () for all and () for have intersection number 0. This means that the basis is a canonical basis.
|
•
|
The result of H:=homology(f, x, y) is a table H containing the following:
|
1.
|
H[basepoint] is a value for for which takes N different values, so is not a branchpoint nor a singularity.
|
2.
|
H[sheets] is a list of pre-images of . This list of y-values at effectively labels the sheets of the Riemann surface at . Sheet 1 is , sheet 2 is , and so on.
|
3.
|
H[genus] gives the genus g of the Riemann surface.
|
4.
|
H[cycles] is a table containing a set of cycles , with . In this set, of these cycles are linearly independent over the integers in the homology. The cycles are given as lists. The elements of the list at odd positions denote which sheet one is on, the elements at even positions denote around which branchpoint one needs to circle to get from the sheet at the previous position to the sheet at the next position. The branchpoint is given together with the permutation of the sheets around that branchpoint. The lists representing the cycles are cyclic: circling around the last branchpoint brings one back to the sheet given at position 1.
|
5.
|
H[linearcombination] is a matrix with rows and columns, giving the linear combinations of the elements in homology[cycles], which give cycles or . The cycle is given by the i-th row of this matrix. The cycle is given by the (+)-th row of this matrix.
|
6.
|
H[canonicalcycles] is a table containing the explicit representation of the cycles and . These cycles are also given by cyclic lists. Again, the elements at odd positions of the list are sheetnumbers. The elements at even positions of the list are branchpoints, together with a number indicating how many times one has to circle around the branchpoint in the counter-clockwise direction. If this number is negative, one has to circle around to the branchpoint as many times in the clockwise direction.
|
|
|
Examples
|
|
>
|
|
| (1) |
|
|
|