Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction...
Transcript of Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction...
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Calculus on Riemann Surfaces in Python
Chris Swierczewski
University of WashingtonDepartment of Applied Mathematics
Symbolic Computation SeminarNorth Carolina State University
March 2013
March 19, 2013
1 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
1 IntroductionAcknowledgements and MotivationRiemann Surfaces and Period Matrices
2 Algebraic ComponentsPuiseux SeriesSingularitiesHolomorphic Differentials
3 Geometric ComponentsAnalytic ContinuationMonodromyHomology
4 Riemann Matrices and Theta FunctionsRiemann MatricesRiemann Theta Functions
2 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Table of Contents
1 IntroductionAcknowledgements and MotivationRiemann Surfaces and Period Matrices
2 Algebraic ComponentsPuiseux SeriesSingularitiesHolomorphic Differentials
3 Geometric ComponentsAnalytic ContinuationMonodromyHomology
4 Riemann Matrices and Theta FunctionsRiemann MatricesRiemann Theta Functions
3 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Acknowledgements
Collaborators:
Bernard Deconinck: advisor, co-author of algcurves forMaple.
Grady Williams: undergraduate at UW, computing Riemanntheta functions using CUDA.
Primary references:
Mumford, “Tata Lectures on Theta I,II”
Bobenko, Klein, “Computational Approach to RiemannSurfaces”
Chapter 2 by Deconinck and Patterson, “Computing withPlane Algebraic Curves and Riemann Surfaces”
4 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Motivation
Abelian functions: higher genus versions of elliptic functions.Periodic functions on Cg/Λ).
Any Abelian function can be expressed as a rational functionof the Riemann theta function θ : Cg × hg → C and itsderivatives.
θ(z,Ω) =∑n∈Zg
e2πi
(12n·Ωn+n·z
)
Algorithm for computing the Riemann theta function byDeconinck, et. al.
Period matrices corresponding to complex plane algebraiccurves appear in Abelian function theory.
5 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Motivation
Additional applications of period matrices and Riemann thetafunctions:
Periodic solutions to integrable partial differential equations.(Dubrovin)
Bitangents of complex plane quartics.(Vinzant, Plaumann, Sturmfels)
Linear matrix representations of Helton-Vinnikov curves.(Vinzant, Plaumann, Sturmfels)
Igusa polynomials and Siegel modular forms.(Lauter, Yang)
6 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Riemann Surfaces
Let f ∈ C[x, y]. The Riemann surface, X, corresponding to f isthe desingularization and compactification of
X = (x, y) ∈ C2 : f(x, y) = 0. (1)
Interpret X as a y-covering of the Riemann sphere C∗x. If
f(x, y) = an(x)yn + · · ·+ a1(x)y + a0(x)
then the covering is n-sheeted. Above all but finitely many x ∈ C∗x(the branch points of f) there are n distinct values of y ∈ Cy.
“Fibre at x” or “y-roots at x”.
7 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Riemann Surfaces
X is homeomorphic a complex g-torus. The homology group of X
H1(X,Z)
is the space of all closed paths (cycles) on X. Basis consists of 2g cyclesa1, . . . , ag, b1, . . . , bg with the intersection properties
ai aj = 0, bi bj = 0, ai bj = δij .
Dual space of holomorphic differentials on X
Γ(X,Ω1)
has dimension g.8 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Period Matrices and Riemann Matrices
Choose the normalized basis of Γ(X,Ω1) where.∮ai
ωj = δij ,
∮bi
ωj = Ωij ∈ C.
Period matrix (Ig×g Ω
)∈ Cg×2g
where Ω ∈ Cg×g is a Riemann matrix:
Ω = ΩT ,
Im Ω 0.
The period matrix is used to define the Jacobian of a Riemannsurface.
Jac(X) := Cg/(Ig×gZg + ΩZg)
9 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Software: abelfunctions
abelfunctions is a Python library for computing with Riemannsurfaces and (eventually) Abelian functions.
A Python + C port of Deconinck, van Hoeij’s algcurves
package in Maple.
Open-source and free.
Uses numpy, scipy, sympy, networkx.
Available on GitHub:https://github.com/cswiercz/abelfunctions
10 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Software: Path to Riemann Matrices
Puiseux Series
Monodromy
Integral Basis
Singularities
HomologyAnalytic Continuation
Riemann Matrices
Holomorphic Differentials
11 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Table of Contents
1 IntroductionAcknowledgements and MotivationRiemann Surfaces and Period Matrices
2 Algebraic ComponentsPuiseux SeriesSingularitiesHolomorphic Differentials
3 Geometric ComponentsAnalytic ContinuationMonodromyHomology
4 Riemann Matrices and Theta FunctionsRiemann MatricesRiemann Theta Functions
12 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Puiseux Series
Taylor and Laurent series locally describe single-valued functions ata point. Puiseux series are a multi-valued extension of these.Can locally describe
regular points,
branch points,
singular points.
“point” = a value in the complex x-plane. “place” a location on the
Riemann surface, X.
13 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Puiseux Series: Definition
A place P on a Riemann surface X lying above some x = α isdetermined by expansions of the form
P =
x = α+ λte,y =
∑∞k=0 βkt
nk(2)
where · · · < nk < nk+1 < · · · with only finitely many negativeexponents. Solve for t = t(x):
y = y(x) =
∞∑k=0
αk(x− α)nk/e.
Local description of y as a function of x on X.
Algorithm by D. Duval using Newton polygons.
14 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Demo
Puiseux series at places on complex plane algebraic curves.
15 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Singularities
Must resolve the singularities of an algebraic curve to obtaincorresponding Riemann surface. We use Puiseux series to do so.
Puiseux series define local behavior. =⇒ How to go around /pass through singular points.
Use to determine coordinate chart at each singular point,providing the manifold structure.
Definition: Singularities
Let F (X,Y, Z) ∈ C[X,Y, Z] be the homogenization off(x, y) ∈ C[x, y]. The singular points, P ∈ P 2C, occur where
∂XF (P ) = ∂Y F (P ) = ∂ZF (P ) = 0
16 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Singularity Data
Important pieces of information corresponding to singular pointsP ∈ P 2C.
multiplicity: the sum of the ramification indices of thePuiseux series at P .
delta invariant: the number of double points at P . Appearsin the genus formula: if d is the total degree of f then thegenus of the curves corresp. Riemann surface is
g = (d− 1)(d− 2)/2−∑P∈X
δP
branching number: the number of Puiseux series at P .
17 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Demo
Singularities. Computing the genus of a curve.
18 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Differentials
Holomorphic differentials on X : f(x, y) = 0 are all of the form
ωk =Pk(x, y)
∂yf(x, y)dx, Pk(x, y) =
∑i+j≤d−3
ckijxiyj
where d is the degree of f and Pk(x, y) are the “adjointpolynomials” of f are chosen such that ωk has no poles on X.
If X is nonsingular then all polynomials Pk(x, y) of degree≤ d− 3 give rise to a holomorphic differential. Consistentwith genus formula:
g = (d− 1)(d− 2)/2
If X has singularities then more conditions are imposed on thePk(x, y)’s. (Pk must, at least, vanish at the singularities.)
19 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Algorithm
Based on observation by Mnuk: let
OA(X) = C[x, y]/(f) ⊂ C(x, y).
Then,
Adj(X) =P (x, y) ∈ C[x, y] ‖ OA(X) · P (x, y) ⊂ C[x, y]
.
OA(X) is finite dimensional over C[x, y]. Let, β1, . . . , βm be abasis. Then Mnuk’s theorem is equivalent to requiring
βjP (x, y) ∈ C[x, y],∀j = 1, . . . ,m.
Algorithm for computing βj is due to van Hoeij and uses Puiseuxseries.
20 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Demo
Integral bases of algebraic functions fields and bases of the spaceof holomorphic differentials.
21 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Table of Contents
1 IntroductionAcknowledgements and MotivationRiemann Surfaces and Period Matrices
2 Algebraic ComponentsPuiseux SeriesSingularitiesHolomorphic Differentials
3 Geometric ComponentsAnalytic ContinuationMonodromyHomology
4 Riemann Matrices and Theta FunctionsRiemann MatricesRiemann Theta Functions
22 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Continuing y-Roots Along x-Paths
The y-roots / fibre y = y1, . . . , yn ⊂ Cy of
f(x, y) =
n∑j=0
aj(x)yj = 0
are continuous as a function of x ∈ Cx. Much of the “geometricside” involves continuing a fibre y along a path γ ⊂ Cx.
In particular, we select a “base point” a ∈ Cx and an orderingof the y-roots at that point. (yj is on sheet j of the Riemannsurface.)
23 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Continuing y-roots Along x-Paths
Two-step process:1 Taylor step.
A proper step size is determined based on the “movement” ofall of the roots.
Let yi = (yi1, . . . , yin) be the fibre at xi ∈ Cx and
dxi = xi+1 − xi. Then
yapproxj = yij − dxif(xi, y
ij)
∂yf(xi, yij)
2 Compute roots yi+1j at xi+1.
3 Determine if Taylor approximates yapproxj are “close enough”to the new roots.
If so, match approximates with new roots and iterate.If not, take smaller step and try again.
24 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Monodromy Group
Let b1, · · · , bN ∈ C∗x be the branch points of f . The monodromygroup of f is the fundamental group
π1(C∗x\b1, . . . , bN, a).
where a ∈ Cx is a fixed point. (Not a branch point.)
Specifically, we compute the fibrey = y1, . . . , yn at x = a andsee how the roots are permutedwhen we analytically continuearound each branch point bi.
25 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Monodromy: Algorithm
1 Fix a base point a ∈ Cx andan ordering of the fibre yabove it. (Fixed for allfuture comptuations.)
2 Fix an ordering of thebranch points, bi.
3 Compute a minimalspanning tree with thebranch points as the nodes.The root is the branch pointclosest to a. Draw circularpaths around each branchpoint.
For numerical accuracypurposes we stay awayfrom the branch points.
Figure: The collection of all x-pathsover which we analytically continuethe “base fibre”.
26 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Monodromy: Algorithm
4 Determine appropriatemonodromy group paths,given the above ordering.
The path around branchpoint bi must lie belowthe path around branchpoint bi+1.
5 Analytically continue thebase fibre along each path.
6 When returning to the basepoint, record how the fibreelements / sheets werepermuted.
Figure: The collection of all x-pathsover which we analytically continuethe “base fibre”.
27 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Demo
The monodromy group π1 (C∗x\b0, . . . , bN, a)
28 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Homology H1(X,Z)
Monodromy says how to get from one sheet to another on X byanalytically continuing along closed paths in Cx. But we wantclosed paths on the Riemann surface, itself.
Algorithm due to Tretkoff and Tretkoff takes monodromyinformation and returns a- and b-cycles.
“Base place” P0 = (a, y1).
Linear combinations of intermediate “c-cycles”.
29 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Demo
Homology basis of X: H1(X,Z)
30 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Table of Contents
1 IntroductionAcknowledgements and MotivationRiemann Surfaces and Period Matrices
2 Algebraic ComponentsPuiseux SeriesSingularitiesHolomorphic Differentials
3 Geometric ComponentsAnalytic ContinuationMonodromyHomology
4 Riemann Matrices and Theta FunctionsRiemann MatricesRiemann Theta Functions
31 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Riemann Matrices: Putting It Together
Puiseux Series
Monodromy
Integral Basis
Singularities
HomologyAnalytic Continuation
Riemann Matrices
Holomorphic Differentials
32 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Riemann Matrices
Compute
Aij =
∮ai
ωj Bij =
∮bi
ωj
using Gauss-Legendre quadrature. In particular, parameterize thepath γ ∈ H1(X,Z) by t ∈ [0, 1] and compute∫
γω =
∫ 1
0ω (x(t), y(x(t)))x′(t)dt.
Set,Ω = A−1B.
(This Ω is equal to that which is chosen by normalizing our basisof holomorphic differentials.)
33 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Demo
Period matrices and Riemann matrices.
34 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Riemann Theta Functions
Building block of Abelian functions: θ : Cg × hg → C.
θ(z,Ω) =∑n∈Zg
e2πi
(12n·Ωn+n·z
)
Algorithm by Deconinck, et. al.: separates doubly exponentiallygrowing part and “oscillatory part”.
Fast Python + C implementation. (Multiprecise on the way.)
Optional CUDA-enabled implementation by S. and Williams.
35 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Riemann Theta Functions: Example
We plot real and imaginary parts of the oscillatory part of
θ ([x+ iy, 0, 0],Ω)
for x ∈ [0, 1], y ∈ [0, 3] with N = 65536 z = [x+ iy, 0, 0] valuesand for
Ω =
−12 + i 1
2 −12 i −
12 −
12 i
12 −
12 i i 0
−12 −
12 i 0 i
36 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Demo
CUDA evaluation of a slice of a genus g = 3 Riemann thetafunction.
37 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Thank You
abelfunctionshttps://github.com/cswiercz/abelfunctions
38 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Future Work
Performance improvements.
csympy by Ondrej Certık.Use Cython and GMP for numerical portions.
Abel Map A : X → Jac(X)
A(P ) =
(∫ P
P0
ω1, . . . ,
∫ P
P0
ωg
)(3)
(Ph.D. thesis work of Matthew Patterson.)
Vector of Riemann Constants: 2K ≡ −A(C) where C is thecanonical class divisor. (The equivalence class of all divisors ofholomorphic differentials.)(Ph.D. thesis work of Matthew Patterson.)
39 / 40
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Future Work
Fay’s Prime Form: Let α, β ∈ [0, 1)g be such that(∂
∂z1θ[α, β](0,Ω), . . . ,
∂
∂zgθ[α, β](0,Ω)
)6= 0.
Define the holomorphic differential
ζ =
g∑j=1
ωj∂
∂zjθ[α, β](0,Ω).
Then the prime form E : X ×X → C is defined by
E(P1, P2) = θ[α, β](∫ P2
P1ω,Ω
)/√ζ(P1)
√ζ(P2)
where ω = (ω1, . . . , ωg).
40 / 40