Calculus on Riemann Surfaces in Pythoncswiercz.info/assets/files/ncsu-symbolic.pdf · Introduction...

Post on 23-Jun-2020

3 views 0 download

transcript

Introduction Algebraic Components Geometric Components Riemann Matrices and Theta Functions Next Steps

Calculus on Riemann Surfaces in Python

Chris Swierczewski

cswiercz@uw.edu

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

emailcswiercz@uw.edu

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