Abel-Jacobi map on complex hyperelliptic curves Pascal Molin CARAMEL, Loria Nancy june 2011
Hyperelliptic curve 2 g + 1 C : y 2 = ∏ ( x − a i ) i = 1 • Riemann surface with two sheets. • a i = branch points. color = argument of y
Abel-Jacobi map u : Div 0 ( C ) C g / Ω Z 2 g → � Q mod Ω Z 2 g Q − P �→ P ω j • Homology H 1 ( C ) = Z γ 1 ⊕ · · · ⊕ Z γ 2 g • Holomorphic differentials H 1 ( C ) = C ω 1 ⊕ · · · ⊕ C ω g � � � • Ω = period matrix = ∈ M g × 2 g ( C ) . γ i ω j
Abel-Jacobi map u : Div 0 ( C ) C g / Ω Z 2 g → � Q mod Ω Z 2 g Q − P �→ P ω j • Homology H 1 ( C ) = Z A 1 ⊕ · · · ⊕ Z B g B A intersection product (antisymetric) symplectic basis A 1 , . . . A g , B 1 . . . B g such that A · B = +1 ( A i · B j = δ i , j ) , A i · A j = B i · B j = 0. • Holomorphic differentials H 1 ( C ) = C ω 1 ⊕ · · · ⊕ C ω g � � � • Ω = period matrix = ∈ M g × 2 g ( C ) . γ i ω j
Abel-Jacobi map u : Div 0 ( C ) C g / Ω Z 2 g → � Q mod Ω Z 2 g Q − P �→ P ω j • Homology H 1 ( C ) = Z A 1 ⊕ · · · ⊕ Z B g • Holomorphic differentials H 1 ( C ) = C ω 1 ⊕ · · · ⊕ C ω g take dual basis ω i s.t. � B j ω i = δ i , j � � � • Ω = period matrix = ( τ I g ) , τ = ∈ H g . A j ω i
Computation of the period matrix • standard branch cuts a 6 a 5 • standard symplectic basis A 3 a 1 a 7 when roots are well ordered a 2 B 3 A 1 • canonical holomorphic forms a 4 B 1 a 3 d x i B 2 A 2 y , i = 1 . . . g Need to parametrize and integrate efficiently over the loops.
Numerical integration Theorem (Double-exponential integration) Assume f : ] a , b [ → C admits a holomorphic continuation to a domain R τ = { tanh ( λ sinh R ± it ) , t < τ } , and that | f | < M on R τ . Then for any D > 0 , there exists n , h > 0 such that n ∼ D log D 2 πτ and � � b � n � � � � e − D ∑ a f − f ( z k ) d z k � � � � k = − n � with • z k = b + a 2 + b − a 2 tanh ( λ sinh ( kh )) λ h cosh ( kh ) • d z k = b − a cosh 2 ( λ sinh ( kh )) . 2
Convergence of DE integration Dependency in the holomorphy domain R τ : R π/ 4 R π/ 5 R π/ 10 a b a b a b n ∼ 0 . 5 D log D n ∼ 0 . 25 D log D n ∼ 0 . 2 D log D
Van Wamelen Low variations : integrate far from branch points a i . a 6 a 5 a 1 a 7 a 2 a 4 a 3
Van Wamelen Low variations : integrate far from branch points a i . a 6 a 5 a 1 a 7 a 2 a 4 a 3 B 2 A 2
Van Wamelen Low variations : integrate far from branch points a i . a 6 a 5 a 1 a 7 a 2 a 4 a 3 B 2 A 2 more than 25 integrals (minimum 5 g + 3 = 18)
Between branch points a 6 a 5 A 3 a 1 a 7 a 2 B 3 A 1 a 4 B 1 a 3 B 2 A 2
Between branch points a 6 a 5 A 3 B 3 a 1 a 7 a 2 A 1 a 4 B 1 a 3 B 2 A 2
Between branch points a 6 a 5 A 3 B 3 a 1 The double-exponential a 7 a 2 change of variable A 1 desingularizes the branch a 4 points. B 1 a 3 B 2 A 2 � a 6 λ ( a 6 − a 7 ) sinh ( t ) d t d x d x � � = 2 = � , y y B 3 a 7 R cosh ( λ sinh ( t )) − ∏ k � = 6 , 7 ϕ 6 , 7 ( t ) − a k ϕ i , j ( t ) = a i + a j + a j − a i tanh ( sinh ( t )) 2 2
Between branch points a 6 a 5 A 3 a 1 a 7 a 2 B 3 B ′ A 1 2 = B 2 − B 3 B ′ 2 B ′ 3 = B 3 a 4 B 1 a 3 B 2 A 2 Impossible for B 1 , B 2 → change basis.
Between branch points a 6 a 5 A 3 a 1 a 7 a 2 B 3 B ′ B ′ A 1 2 = B 2 − B 3 2 B ′ 3 = B 3 a 4 B 1 a 3 A 2
Between branch points a 6 a 5 A 3 a 1 a 7 B ′ 1 = B 1 − B 2 a 2 B 3 B ′ A 1 2 B ′ 2 = B 2 − B 3 B ′ 1 a 4 B ′ 3 = B 3 a 3 A 2
Between branch points a 6 a 5 A 3 B 3 a 1 a 7 B ′ 1 = B 1 − B 2 a 2 A 1 B ′ 2 B ′ 2 = B 2 − B 3 B ′ 1 a 4 B ′ 3 = B 3 A 2 a 3
Between branch points a 6 a 5 A 3 B 3 a 1 a 7 B ′ 1 = B 1 − B 2 a 2 A 1 B ′ 2 B ′ 2 = B 2 − B 3 B ′ 1 a 4 B ′ 3 = B 3 A 2 a 3 Only 2 g intégrals. But here � 2 is slow... B ′
Best homology basis Chain of points : a 6 a 6 a 5 a 5 A 3 A 3 B 3 a 1 B 3 a 1 a 7 a 7 a 2 A 1 a 2 A 1 B ′ 2 B ′ 1 a 4 a 4 A 2 A 2 a 3 a 3 τ = 0 . 46 τ = 0 . 52
Best homology basis Chain of points : a 6 a 6 a 5 a 5 A 3 A 3 B 3 a 1 B 3 a 1 a 7 a 7 a 2 A 1 a 2 A 1 B ′ 2 B ′ 1 a 4 a 4 A 2 A 2 a 3 a 3 τ = 0 . 46 τ = 0 . 52 Any loop around two branch points → homology class � = 0 a 6 C 2 a 5 a 1 C 3 C 1 a 7 Select 2 g cheapest integrals. C 5 C 6 a 2 Homology basis ⇔ spanning tree. C 4 a 4 a 3 τ = 0 . 70
Numerical branch cuts How to compute y ( x ) on a loop ? must avoid branch cuts. y = ∏ √ x − a i � custom y a i , a j ( x ) y = ∏ ( x − a i ) √ x − a k . Parallelize locally y a i , a j ( x ) = ∏ ai , aj k The (sign of the) loop C i is determined by the square root chosen for the computation of � C j ω i .
Numerical branch cuts How to compute y ( x ) on a loop ? must avoid branch cuts. y = ∏ √ x − a i � custom y a i , a j ( x ) y = ∏ ( x − a i ) √ x − a k . Parallelize locally y a i , a j ( x ) = ∏ ai , aj k The (sign of the) loop C i is determined by the square root chosen for the computation of � C j ω i .
Retrieve symplecticity Compute intersection C i · C j using local square root at end point. a 6 b a C 2 a 5 a 1 p C 3 C 1 τ a 7 π + τ C 5 a 2 C 6 2 ⊖ C 4 a 4 a 3 d Lemma y = 2 � b d x d x • � C i a y a , b ( x ) Let C i and C j such that y = 2 � d d x d x • � y b , d ( x ) . C j b √ � � a , b b − a k ∏ a k � = a , b = ( C i · C j ) π + τ √ Then arg 2 b , d b − a k ∏ a k � = b , d
Retrieve symplecticity Compute intersection C i · C j using local square root at end point. a 6 a b C 2 a 5 C 3 a 1 p C 1 τ π + τ a 7 C 5 C 6 2 a 2 ⊖ C 4 a 4 a 3 d symplectic reduction − 1 − 1 0 0 1 0 0 0 0 1 0 0 1 0 − 1 0 − 1 0 0 0 0 0 1 0 − 1 0 1 0 0 0 0 0 0 0 0 1 → − 1 0 0 0 0 1 − 1 0 0 0 0 0 − 1 0 1 1 0 0 0 0 0 0 0 0 − 1 − 1 1 0 0 0 0 0 0 0 0 0
Algorithm 1 compute integration cost for every edge ( a i , a j ) 2 find minimum spanning tree ( C 1 , . . . C 2 g ) � � � d x i 3 compute periods Ω C = C j y i , j 4 compute intersection matrix X = ( C i · C j ) 5 perform symplectic reduction t PXP = J g 6 big period matrix Ω = Ω C P = ( Ω 0 Ω 1 ) 7 small period matrix τ = Ω − 1 0 Ω 1 ∈ H g � g 2 D 2 log 2 ( D ) � Complexity : O bit operations.
Incomplete integrals • integrate from P to closest branch point a i • � a j a 1 = 2-torsion 1 1 0 0 0 0 0 2 2 1 1 1 1 0 0 0 2 2 2 2 1 0 0 0 0 0 0 ( u ( a j − a 1 )) = Ω 2 1 1 0 0 0 0 0 2 2 1 1 1 1 0 0 0 2 2 2 2 1 1 1 1 1 1 0 2 2 2 2 2 2
Timings Computation of the period matrix : Genus precision Magma DE factor g=3 100 1.3s 0.2s 6.5 1 000 6mn40 16s 23 2 000 82h36 1mn04 4600 3 000 - 3mn - 10 000 - 1h05 - g=15 2 000 - 28mn52 - Timings on a single core. Integration highly parallelisable.
Recommend
More recommend