calculus on riemann surfaces in pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · introduction...
TRANSCRIPT
![Page 1: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/1.jpg)
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
![Page 2: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/2.jpg)
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
![Page 3: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/3.jpg)
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
![Page 4: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/4.jpg)
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
![Page 5: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/5.jpg)
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
![Page 6: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/6.jpg)
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
![Page 7: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/7.jpg)
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
![Page 8: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/8.jpg)
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
![Page 9: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/9.jpg)
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
![Page 10: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/10.jpg)
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
![Page 11: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/11.jpg)
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
![Page 12: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/12.jpg)
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
![Page 13: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/13.jpg)
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
![Page 14: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/14.jpg)
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
![Page 15: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/15.jpg)
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Demo
Puiseux series at places on complex plane algebraic curves.
15 / 40
![Page 16: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/16.jpg)
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
![Page 17: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/17.jpg)
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
![Page 18: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/18.jpg)
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Demo
Singularities. Computing the genus of a curve.
18 / 40
![Page 19: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/19.jpg)
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
![Page 20: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/20.jpg)
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
![Page 21: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/21.jpg)
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
![Page 22: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/22.jpg)
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
![Page 23: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/23.jpg)
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
![Page 24: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/24.jpg)
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
![Page 25: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/25.jpg)
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
![Page 26: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/26.jpg)
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
![Page 27: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/27.jpg)
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
![Page 28: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/28.jpg)
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Demo
The monodromy group π1 (C∗x\b0, . . . , bN, a)
28 / 40
![Page 29: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/29.jpg)
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
![Page 30: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/30.jpg)
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Demo
Homology basis of X: H1(X,Z)
30 / 40
![Page 31: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/31.jpg)
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
![Page 32: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/32.jpg)
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
![Page 33: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/33.jpg)
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
![Page 34: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/34.jpg)
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Demo
Period matrices and Riemann matrices.
34 / 40
![Page 35: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/35.jpg)
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
![Page 36: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/36.jpg)
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
![Page 37: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/37.jpg)
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
![Page 38: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/38.jpg)
Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps
Thank You
abelfunctionshttps://github.com/cswiercz/abelfunctions
38 / 40
![Page 39: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/39.jpg)
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
![Page 40: Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction Algebraic Components Geometric Components Riemann Matrices and Theta FunctionsNext](https://reader033.vdocuments.us/reader033/viewer/2022060313/5f0b4e717e708231d42fddc7/html5/thumbnails/40.jpg)
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