Maple Professional
Maple Academic
Maple Student Edition
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professional
MapleSim Academic
Maple T.A. - Testing & Assessment
Maple T.A. MAA Placement Test Suite
Möbius - Online Courseware
Machine Design / Industrial Automation
Aerospace
Vehicle Engineering
Robotics
Power Industries
System Simulation and Analysis
Model development for HIL
Plant Modeling for Control Design
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematics Education
Engineering Education
High Schools & Two-Year Colleges
Testing & Assessment
Students
Financial Modeling
Operations Research
High Performance Computing
Physics
Live Webinars
Recorded Webinars
Upcoming Events
MaplePrimes
Maplesoft Blog
Maplesoft Membership
Maple Ambassador Program
MapleCloud
Technical Whitepapers
E-Mail Newsletters
Maple Books
Math Matters
Application Center
MapleSim Model Gallery
User Case Studies
Exploring Engineering Fundamentals
Teaching Concepts with Maple
Maplesoft Welcome Center
Teacher Resource Center
Student Help Center
algcurves[homology] - Tretkoff's algorithm for finding a canonical homology basis
Calling Sequence
homology(f, x, y)
Parameters
f
-
irreducible polynomial in x and y
x
variable
y
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:
H[basepoint] is a value for for which takes N different values, so is not a branchpoint nor a singularity.
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.
H[genus] gives the genus g of the Riemann surface.
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.
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.
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
See Also
algcurves[differentials], algcurves[genus], algcurves[monodromy], algcurves[periodmatrix]
Download Help Document