GiNaC goes elliptic (numerical evaluation of elliptic multiple polylogarithms)
Stefan Weinzierl Institut f¨ur Physik, Universitat¨ Mainz
in collaboration with M. Walden and based on previous work with L. Adams, Ch. Bogner, I. Honemann,¨ K. Tempest and A. Schweitzer
I: Review: Multiple polylogarithms in GiNaC II: Background: Elliptic curves III: Implementation: Evaluation of elliptic multiple polylogarithms Introduction
Physics is about numbers
A mathematical physicist thinks about
ζ3
An experimental physicist thinks about
1.2020569031 ± 2 · 10−10 GiNaC
GiNaC was initiated in 1999 by Ch. Bauer, A. Frink and R. Kreckel at the University of Mainz.
Despite it’s name, it is a computer algebra system. Allows symbolic calculations in C++.
Shipped with major linux distributions (Ubuntu, Debian, Fedora, ...).
Available at http://www.ginac.de.
GiNaC contains a sub-package to evaluate multiple polylogarithms with arbitrary precision. J. Vollinga, S.W., (2004) Multiple polylogarithms
Definition based on iterated integrals:
y t1 tk−1 dt1 dt2 dtk G(z1,...,zk;y) = ... , zk 6= 0 Z t1 − z1 Z t2 − z2 Z tk − zk 0 0 0
Definition based on nested sums: ∞ xn1 xn2 xnk Li (x ,x ,...,x ) = 1 · 2 · ... · k m1,m2,...,mk 1 2 k ∑ nm1 nm2 nmk n1>n2>...>nk>0 1 2 k
Conversion: 1 1 1 Li (x ,...,x ) = (−1)kG , ,..., ;1 m1,...,mk 1 k m1,...,mk x x x x ...x 1 1 2 1 k
Short hand notation:
Gm1,...,mk(z1,...,zk;y) = G(0,...,0,z1,...,zk−1,0...,0,zk;y) m1−1 mk−1 | {z } | {z } Trailing zeros
We may slightly extend the definition of multiple polylogarithms and allow trailing zeros:
1 G(0,...,0;y) = lnr (y) r! r and define recursively | {z }
y dt1 G(z1,z2,...,zr;y) = G(z2,...,zr;t1). Z t1 − z1 0 Example
ginsh - GiNaC Interactive Shell (GiNaC V1.7.10) __, ______Copyright (C) 1999-2020 Johannes Gutenbergversity Uni Mainz, (__) * | Germany. This is free software with ABSOLUTELYRANTY. NO WAR ._) i N a C | You are welcome to redistribute it under certainnditions. co <------’ For details type ‘warranty;’.
Type ?? for a list of help topics. > Digits=50; 50 > evalf(G({0,0,1},1)); -1.202056903159594285399738161511449990764986292340498881794 Why arbitrary precision?
The PSLQ algorithm can be used to find integer relatios among a set of transcendental numbers. Ferguson, Bailey, (1992)
This can be used to fix and to simplify boundary constants for Feynman integrals.
This requires that the transcendental numbers are known to sufficient high precision (a few hundred digits). Special cases
The multiple polylogarihms contain as subsets the classical polylogarithms
Lin(x),
Nielsen’s generalized polylogarithms
Sn,p(x) = Lin+1,1,...,1(x,1,...,1), p−1 the harmonic polylogarithms of Remiddi and Vermaseren| {z }
Hm1,...,mk(x) = Lim1,...,mk(x,1,...,1). k−1 | {z } Part II
Elliptic curves Elliptic curves
Let ψ1 and ψ2 be two complex numbers with Im(ψ2/ψ1) 6= 0.
Elliptic curve represented by
y Im z
x Re z
Weierstrass normal form Torus Real Riemann surface of genus one 2 3 C y = 4x − g2x − g3 /Λ with one marked point Bases of lattices
The periods ψ1 and ψ2 generate a lattice. Any other basis as good as (ψ2,ψ1). Convention: Normalise (ψ2,ψ1) → (τ,1) where τ = ψ2/ψ1.
τ τ′
1
′ ψ2 a b ψ2 Change of basis: ′ = , ψ c d ψ1 1 a b Transformation should be invertible: ∈ SL (Z), c d 2 aτ + b In terms of τ and τ′: τ′ = cτ + d Modular forms
Denote by H the complex upper half plane. A meromorphic function f : H → C is a modular form of modular weight k for SL2(Z) if
(i) f transforms under Mobius¨ transformations as
aτ + b a b f =(cτ + d)k · f (τ) for ∈ SL (Z) cτ + d c d 2
(ii) f is holomorphic on H,
(iii) f is holomorphic at ∞. Congruence subgroups
Apart from SL2(Z) we may also look at congruence subgroups, for example
a b Γ (N)= ∈ SL (Z) : c ≡ 0 mod N 0 c d 2 a b Γ (N)= ∈ SL (Z) : a,d ≡ 1 mod N, c ≡ 0 mod N 1 c d 2 a b Γ(N)= ∈ SL (Z) : a,d ≡ 1 mod N, b,c ≡ 0 mod N c d 2 Modular forms for congruence subgroups: Require “nice” transformation properties only for subgroup Γ (plus holomorphicity on H and at the cusps). Dirichlet character
Let N be a positive integer. A function χ : Z → C is called a Dirichlet character modulo N, if
(i) χ(n)= χ(n + N) ∀n ∈ Z,
(ii) χ(n)= 0 if gcd(n,N) > 1 and χ(n) 6= 0 if gcd(n,N)= 1,
(iii) χ(nm)= χ(n)χ(m) ∀ n,m ∈ Z.
The conductor of χ is the smallest positive divisor d|N such that there is a character χ′ modulo d with
χ(n)= χ′(n) ∀ n ∈ Z with gcd(n,N)= 1. The Kronecker symbol
α1 α2 αk Let a be an integer and n a non-zero integer with prime factorisation n = up1 p2 ...pk , where u ∈ {1,−1} is a unit. The Kronecker symbol is defined by
a a a α1 a α2 a αk = ... . n u p1 p2 pk If a is the discriminant of a quadratic field, then it is a primitive Dirichlet character with conductor |a|.
Including the trivial character (for which a = 1) the possible values for a with smallest absolute value are
1,−3,−4,5,−7,8,−8,−11,12,... Modular forms with character
We may relax the transformation law:
Let N be a positive integer and let χ be a Dirichlet character modulo N. A function f : H → C is a modular form of weight k for Γ0(N) with character χ if
(i) f is holomorphic on H,
(ii) f is holomorphic at the cusps of Γ1(N),
aτ + b a b (iii) f = χ(d)(cτ + d)k f (τ) for ∈ Γ (N). cτ + d c d 0 The space of modular forms
• The modular forms for a given congruence subgroup form a vectorspace.
• This vectorspace is finite dimensional.
• It decomposes into a subspace of cusp forms and the Eisenstein subspace.
• We have
Mk(Γ1(N)) = Mk(N,χ) Mχ
and similar for the subspace of cusp forms and the Eisenstein subspace.
• Basis of Eisenstein subspace Ek(N,χ) given in terms of generalised Eisenstein series. Generalised Eisenstein series
Let a be the discriminant of a quadratic field. The Kronecker symbol defines then a primitive Dirichlet character
a χ (n) = a n Set
∞ k−1 n 2πiτ Ek,a,b (τ) = a0 + ∑ ∑ χa(n/d) · χb(d) · d q¯ , q¯ = e n=1 d|n !
Generalised Eisenstein series:
Ek,a,b (Kτ), (k,a,b) 6=(2,1,1), K ≥ 1, Ek,a,b,K (τ) = E2 1 1 (τ) − KE2 1 1 (Kτ), (k,a,b)=(2,1,1), K > 1. , , , , Iterated integrals of modular forms
Iterated integrals of modular forms:
τ τ1 τn−1 I ( f , f ,..., f ;q) = (2πi)n dτ f (τ ) dτ f (τ )... dτ f (τ ) 1 2 n Z 1 1 1 Z 2 2 2 Z n n n τ0 τ0 τ0
An integral over a modular form is in general not a modular form. Analogy: An integral over a rational function is in general not a rational function. The Kronecker function
The first Jacobi theta function θ1(z,q):
∞ 2 n (n+1) i(2n+1)z iπτ θ1 (z,q) = −i ∑ (−1) q 2 e , q = e n=−∞
The Kronecker function F(z,α,τ):
∞ ′ θ1 (π(z + α),q) 1 (k) k F (z,α,τ) = πθ1 (0,q) = ∑ g (z,τ)α , θ1 (πz,q)θ1 (πα,q) α k=0
We are mainly interested in the coefficients g(k)(z,τ) of the Kronecker function. The coefficients g(k)(z,τ) of the Kronecker function
Properties of g(k)(z,τ):
- only simple poles as a function of z
- quasi-periodic as a function of z: Periodic by 1, quasi-periodic by τ.
- almost modular: Nice modular transformation properties only spoiled by divergent Eisenstein series E1(z,τ).
Brown, Levin, ’11, Broedel, Duhr, Dulat, Penante, Tancredi, ’18 Can we have the full cake and eat it?
No, it is not possible to have integration kernels, which are
• double periodic
• meromorphic
• only simple poles Elliptic polylogarithms (Γ˜ -version )
Elliptic polylogarithms (meromorphic version, simple poles, but not double periodic)
z n1 ... nk ′ (n ) ′ n2 ... nk ′ Γ( z z ;z;τ) = dz g 1 (z − z ,τ) Γ( z z ;z ;τ) 1 ... k Z 1 2 ... k 0 e e Broedel, Duhr, Dulat, Tancredi, ’17
Note: τ = const Moduli spaces
Mg,n: Space of isomorphism classes of smooth (complex, algebraic) curves of genus g with n marked points.
Recall:
z1 z1 z3 ⇔ z2 complex curve real surface z2 z3
z1 z1 z3 ⇔ z2 z2 z3 Coordinates
Genus 0: dimM0,n = n − 3. Sphere has a unique shape Use Mobius¨ transformation to fix zn−2 = 1, zn−1 = ∞, zn = 0 Coordinates are (z1,...,zn−3)
Genus 1: dimM1,n = n. One coordinate describes the shape of the torus Use translation to fix zn = 0 Coordinates are (τ,z1,...,zn−1) In particular:
dimM1,1 = 1 with coordinate τ, (equal mass sunrise) dimM1,3 = 3 with coordinates τ,z1,z2, (unequal mass sunrise). The ELi-functions
Recall the definition of the classical polylogarithms:
∞ x j Lin (x) = ∑ n . j=1 j
Generalisation, the two sums are coupled through the variable q:
∞ ∞ j k x y jk ELin;m (x;y;q) = ∑ ∑ n m q . j=1 k=1 j k
Define the linear combinations
n+m −1 −1 En;m (x;y;q) = ELin;m (x;y;q) − (−1) ELin;m x ;y ;q . Expansion of the coefficients of the Kronecker function
(n) The functions En;m are helpful for the q¯-expansion of the functions g (z,τ). Explicitly one has with q¯ = exp(2πiτ) and w¯ = exp(2πiz)
g(0) (z,τ) = 1, 1 + w¯ g(1) (z,τ) = −2πi + E (w¯;1;q ¯) , 2(1 − w¯) 0,0 (2πi)k B g(k) (z,τ) = − − k + E (w¯;1;q ¯) , k > 1, (k − 1)! k 0,1−k where Bk denote the k-th Bernoulli number. More variants of elliptic polylogarithms
Some authors consider iterated integrals of the form
y0 dyf (y)G(z ,...,z ;y), Z 1 k−1 0 where only the outermost integration is non-polylogarithmic, for example
1 f (y) = (y − z1)(y − z2)(y − z3)(y − z4)
Remiddi, Tancredi, ’17; p Bourjaily, McLeod, Spradlin, von Hippel, Wilhelm, ’17; Hidding, Moriello, ’17; Part III
Evaluation of elliptic multiple polylogarithms Iterated integrals
For ω1, ..., ωk differential 1-forms on a manifold M and γ : [0,1] → M a path, write for the pull-back of ω j to the interval [0,1]
∗ f j (λ)dλ = γ ω j.
The iterated integral is defined by (Chen ’77)
λ λ1 λk−1 I (ω ,...,ω ;λ) = dλ f (λ ) dλ f (λ )... dλ f (λ ). γ 1 k Z 1 1 1 Z 2 2 2 Z k k k 0 0 0 Shuffle product and trailing zeros
Let λ0 ∈ R>0 and denote by U the domain U = {z ∈ C||z|≤ λ0}. Let us assume that all ω j are holomorphic in U\{0} and have at most a simple pole at z = 0. In other words
∞ n−1 C ω j = f j (z)dz = ∑ c j,n z dz, c j,n ∈ . n=0
We say that ω j has a trailing zero, if c j,0 6= 0.
We may use shuffle product regularisation / tangential base point as in the case of multiple polylogarithms. Integration kernels
• Kernels related to g(k)(z,τ):
Kronecker_dtau_kernel(k, z_j); Kronecker_dz_kernel(k,z_j, tau);
• Kernels related to modular forms:
Eisenstein_kernel(k, a, b, K); modular_form_kernel(k,qbar); P,
• Kernels related to ELi-functions:
ELi_kernel(n, m, x, y); Ebar_kernel(n, m, x, y);
• User-defined kernels:
user_defined_kernel(f, y); Example
Digits = 50; ex tau = 10*I; ex qbar = evalf(exp(2*Pi*I*tau)); ex z = 0.9; ex g_2 = Kronecker_dtau_kernel(2,z); ex g_3 = Kronecker_dtau_kernel(3,z); std::cout << iterated_integral(lst{g_3,g_2},qbar).evalf() << std::endl;
3.2253571394850843286565907071596312651610339124775388346726E-27 -4.370890856300573854123107098377978052316020623730771456153E-85*I Conclusions
• At the end we want a number!
• Numerical evaluations with arbitrary precision helpful for PSLQ algorithm.
• Implementation of functions related to elliptic Feynman integrals in GiNaC.