This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Computing periods of hypersurfaces

Emre Can Sertöz Emre Can Sertöz
Max Planck Institute for Mathematics in the Sciences, Inselstr. 22
04103 Leipzig, Germany
emresertoz@gmail.com
(Date: August 12, 2025)
Abstract.

We give an algorithm to compute the periods of smooth projective hypersurfaces of any dimension. This is an improvement over existing algorithms which could only compute the periods of plane curves. Our algorithm reduces the evaluation of period integrals to an initial value problem for ordinary differential equations of Picard–Fuchs type. In this way, the periods can be computed to extreme-precision in order to study their arithmetic properties. The initial conditions are obtained by an exact determination of the cohomology pairing on Fermat hypersurfaces with respect to a natural basis.

Key words and phrases:
Picard–Fuchs equations, Hodge theory, Griffiths–Dwork reduction, periods, algorithms
2010 Mathematics Subject Classification:
32G20, 14C30, 68W30, 14D07, 14K20

1. Introduction

Let XX be a smooth complex projective hypersurface defined as the zero locus of a homogeneous polynomial with complex coefficients (see Remark 1.15 for more on the nature of these coefficients). The periods of XX can be concretely defined as integrals of rational functions on the ambient projective space as in Section 1.1. From a geometric point of view, the interest in periods arises because they determine the Hodge structure on the cohomology of XX and, when taken together with the intersection product on cohomology, periods often determine XX up to isomorphism. Indeed, there are properties which are much easier to discern from the periods of XX than from the defining equation of XX. The computation of periods has been forbidding and there appears to have been no general purpose algorithm to compute periods when the dimension of XX is greater than one. In this paper, we give an algorithm which computes the periods of smooth hypersurfaces of any degree and dimension111An implementation of the algorithm is available here https://github.com/emresertoz/PeriodSuite..

One striking area of application for the computation of periods is the determination of Picard rank of a surface in 3\mathbbm{P}^{3}. This is a difficult problem which has received a great deal of attention [shioda-81, vL07, charles-14, schutt-15]. Nevertheless, there is no known algorithm for surfaces of degree greater than four and no implementations of the algorithm in [charles-14] for surfaces of degree four. On the other hand, if the periods and the intersection product of a surface are known, then its Picard rank is easily computed: see [elsenhans-18, Fact 3.11] for a demonstration on K3 surfaces. We should note, however, that a reliable computation of the Picard rank from the periods requires that the periods be computable to several hundreds of digits of precision. We give a detailed study of this application in another paper [lairez-sertoz].

In higher dimensional algebraic geometry, periods appear in more subtle ways. Let us describe an instance where our algorithm performs especially well (see Section 5.6): degree three hypersurfaces in 4\mathbbm{P}^{4}, that is, cubic threefolds. A celebrated result of Clemens and Griffiths [clemens-72] implies that no smooth cubic threefold is rational. Their proof builds upon the study of what they dubbed the intermediate Jacobian, which, in this case, is the quotient of 5\mathbbm{C}^{5} by the period vectors of the threefold. They also prove that the cubic threefold is determined up to isomorphism by its intermediate Jacobian. In light of this result, we expect the explicit computation of the periods of a cubic threefold, and hence its intermediate Jacobian, would be a fruitful source of experimentation.

Although it is not the emphasis of our algorithm, periods of curves deserve special mention—not least because of the role they played in the development of the modern understanding of periods. The Abel–Jacobi map, assigning to each curve its periods, continues to play an important role in algebraic geometry and its applications.

For instance Guardia [guardia--explicit_genus_3] computed the periods of a particular family of genus three curves and studied their geometry, that is, the positions of the bitangents and the automorphism groups of these curves, using the periods. Extending Guardia’s methods, Grushevsky and Möller [grush-moell--genus4] explicitly computed the periods of families of genus four curves in order to exhibit infinitely many Shimura varieties in the Jacobi locus.

There is also a remarkable connection between the periods of curves and integrable soliton equations [shiota--jacobian-soliton, holden-03]. In light of these connections, numerical and symbolic algorithms have been developed to study curves [tretkoff-84, frauendiener-17]. A crucial step involved in solving the soliton equations is the computation of periods of curves, for which various algorithms exist.

The first implementation of a general purpose algorithm to compute the periods of a curve was given by Seppälä [seppala94] which was initially restricted to real curves. Later, this restriction was lifted in [gianni--period_matrices]. In both of these algorithms, a curve is to be given as the quotient of a fundamental domain with respect to a Fuchsian group. This representation introduces a significant hurdle in determining the holomorphic forms of a curve.

One can avoid this hurdle by starting with a plane model, as was done by the Maple package algcurves [Maple10, deconinck01]. In the last few years, two more implementations of variations of this algorithm appeared in SageMath [sagemath] with stronger features. The first one is abelfunctions [christopher16] and it can quickly evaluate theta functions associated to periods. The more recent implementation RiemannSurface [nils-18] is now a built-in function of SageMath. The latter package comes with certified path tracking for the construction of homology on the curve and was motivated by number theoretic considerations, such as the computation of the endomorphism rings of Jacobians.

Availability of these algorithms allowed for the study of curves and their geometry in the spirit of numerical algebraic geometry [hauenstein-17]. For example, [christopher16] computes the bitangents of a plane quartic from the periods using Riemann’s formula [riemann-g3]. In a similar vein, one can recover curves in genus three and four from their periods using the formulas given in [guardia-11] and [kempf-86] respectively. This has been successfully implemented in genus four in [bernd-schottky], providing a numerical solution to the Schottky problem [grush-12].

The present work has been initiated by a problem posed by Bernd Sturmfels. He lists 20 problems in his Einstein Visiting Fellow proposal, the 20th of which asks for the development and implementation of a numerical method whose input is the equation of a quartic QQ in 3\mathbbm{P}^{3}, and whose output is the corresponding point in the period domain 21\mathbbm{P}^{21}.

We solve this problem, and we offer a generalization where the input can be the equation of a smooth projective hypersurface of any degree and dimension, with the period domain suitably expanded to capture all cohomological data. The expansion of the period domain is particularly useful in the study of hypersurfaces with no global holomorphic forms, such as the cubic threefold.

In the case of curves, we outperform other software when very high precision is requested. This is because we numerically solve ordinary differential equations whereas the others numerically compute Riemann integrals, and it is much easier to attain high precision in the former case. We give an example of performance against precision in Figure 1 and in Figure 4. In addition, we can compute the periods of higher genus curves if the defining equations of the curves have a particular shape. For instance, we present a computation of the periods of a curve of genus 17111711 at the end of Section 5.4.

1.1. Periods as rational integrals

Let Xn+1X\subset\mathbbm{P}^{n+1} be an nn-dimensional smooth hypersurface given as the zero locus of an irreducible homogenous polynomial fXf_{X}. The periods of XX are the values of certain integrals and so they are formed by two ingredients: the form to be integrated and the domain of integration. Let us introduce each of these in turn.

The forms to be integrated are based on the holomorphic volume form on projective space, which extends the volume form on its affine charts. On an affine space n+1\mathbbm{C}^{n+1} with coordinates z1,,zn+1z_{1},\dots,z_{n+1} the standard holomorphic volume form is dz1dzn+1\mathrm{d}z_{1}\dots\mathrm{d}z_{n+1}. On the projective space n+1\mathbbm{P}^{n+1} with homogeneous coordinates x0,,xn+1x_{0},\dots,x_{n+1} one defines the standard volume form to be

(1.1.1) Ω:=i=0n+1(1)ixidx0dxi^dxn+1,\Omega:=\sum_{i=0}^{n+1}(-1)^{i}x_{i}\,\mathrm{d}x_{0}\dots\widehat{\mathrm{d}x_{i}}\dots\mathrm{d}x_{n+1},

where hat denotes the omission of that factor. Restricting to the standard affine charts, we see that the form Ω\Omega is locally the standard volume form (up to sign):

Ω|xi=1=(1)idx0dxi^dxn+1.\Omega|_{x_{i}=1}=(-1)^{i}\mathrm{d}x_{0}\dots\widehat{\mathrm{d}x_{i}}\dots\mathrm{d}x_{n+1}.
Notation 1.1.

For any real nn-dimensional cycle γX\gamma\subset X we may construct a thin tube τ(γ)\tau(\gamma) around γ\gamma lying entirely in the complement of XX (see [griffiths--periods, §3]).

Definition 1.2.

For any integer 1\ell\geq 1 and any polynomial p(x)[x0,,xn+1]p(x)\in\mathbbm{C}[x_{0},\dots,x_{n+1}] of degree dn2d\ell-n-2 the following integral is called a period of XX:

12π1τ(γ)p(x)fXΩ,\frac{1}{2\pi\sqrt{-1}}\int_{\tau(\gamma)}\frac{p(x)}{f_{X}^{\ell}}\Omega,

where γX\gamma\subset X is a real nn-cycle.

Notice that the integrand p(x)fXΩ\frac{p(x)}{f_{X}^{\ell}}\Omega is homogeneous of degree 0 with poles over XX. Since the tube τ(γ)\tau(\gamma) lies in the complement of XX, the integrals are well defined and independent of the exact construction of the tube τ(γ)\tau(\gamma).

Remark 1.3.

Informally, we can view ρ:τ(γ)γ\rho:\tau(\gamma)\to\gamma as a circle bundle and then see this integral as computing the residue of the form at each point pγp\in\gamma by taking a contour integral around the circle ρ1(p)\rho^{-1}(p). See Section 4.2 where this method is employed.

Taken in isolation, a single period does not reveal much of the structure of XX. Instead, we need the integrals over all nn-cycles. As the homology groups of a smooth hypersurface are freely generated, we now choose nn-cycles γ1,,γmX\gamma_{1},\dots,\gamma_{m}\subset X whose classes generate the middle homology Hn(X,)\mathrm{H}_{n}(X,\mathbbm{Z}) of XX.

Remark 1.4.

If XX is a curve then mm here is simply twice the genus of XX. If XX is a degree four surface then m=22m=22 and if XX is a cubic threefold then m=10m=10. We recall the general formula in Remark 4.5.

Definition 1.5.

For any integer 1\ell\geq 1 and any homogeneous polynomial p(x)[x0,,xn+1]p(x)\in\mathbbm{C}[x_{0},\dots,x_{n+1}] of degree dn2d\ell-n-2, the following complex valued vector is called a period vector of XX:

12π1(τ(γ1)p(x)fXΩ,,τ(γm)p(x)fXΩ)m,\frac{1}{2\pi\sqrt{-1}}\left(\int_{\tau(\gamma_{1})}\frac{p(x)}{f_{X}^{\ell}}\Omega,\dots,\int_{\tau(\gamma_{m})}\frac{p(x)}{f_{X}^{\ell}}\Omega\right)\in\mathbbm{C}^{m},

where Hn(X,)H_{n}(X,\mathbbm{Z}) is freely generated by the nn-cycles {γi}i=1m\{\gamma_{i}\}_{i=1}^{m}.

Most of these integrals are redundant, since any two forms that differ by an exact form will give the same period vector. In fact, one can construct a finite set of forms:

(1.1.2) ωi:=pi(x)fXiΩ,i=1,,N,\omega_{i}:=\frac{p_{i}(x)}{f_{X}^{\ell_{i}}}\Omega,\quad i=1,\dots,N,

such that every other form p(x)fXΩ\frac{p(x)}{f_{X}^{\ell}}\Omega is a linear combination of ωi\omega_{i} modulo exact forms. In symbols, there are a1,,aNa_{1},\dots,a_{N}\in\mathbbm{C} for which there is an equivalence modulo exact forms

p(x)fXΩa1p1(x)fX1Ω++aNpN(x)fXNΩ.\frac{p(x)}{f_{X}^{\ell}}\Omega\equiv a_{1}\frac{p_{1}(x)}{f_{X}^{\ell_{1}}}\Omega+\dots+a_{N}\frac{p_{N}(x)}{f_{X}^{\ell_{N}}}\Omega.

The procedure by which one such basis {ωi}i=1N\{\omega_{i}\}_{i=1}^{N} can be obtained, and the coefficients aia_{i} determined, is called the Griffiths–Dwork reduction [griffiths--periods, dwork-62, lairez--periods].

Remark 1.6.

In fact, N=mN=m when n=dimXn=\dim_{\mathbbm{C}}X is odd and N=m1N=m-1 when nn is even. This is because we are, in fact, computing a basis for the primitive cohomology which coincides with cohomology when nn is odd or has one fewer generator when nn is even (see Section 2.1).

Definition 1.7.

Let {γi}i=1m\{\gamma_{i}\}_{i=1}^{m} be a basis for the middle homology Hn(X,)\mathrm{H}_{n}(X,\mathbbm{Z}) and {ωi}i=1N\{\omega_{i}\}_{i=1}^{N} a basis for the rational forms with poles along XX, modulo exact forms, as in (1.1.2). Then the following m×Nm\times N matrix is called a period matrix of XX:

12π1(τ(γj)pi(x)fXiΩ)i=1,,Nj=1,,m.\frac{1}{2\pi\sqrt{-1}}\left(\int_{\tau(\gamma_{j})}\frac{p_{i}(x)}{f_{X}^{\ell_{i}}}\Omega\right)_{\begin{subarray}{c}i=1,\dots,N\\ j=1,\dots,m\end{subarray}}.
Remark 1.8.

A remarkable observation of Griffiths [griffiths--periods] is that the pole order \ell and Hodge filtration on cohomology are closely related (see Theorem 2.11 for a precise statement). This is what makes the period matrix of interest.

Let us point out that the period matrix is of significantly greater value if the intersection matrix (γiγj)i,j=1m(\gamma_{i}\cdot\gamma_{j})_{i,j=1}^{m} is also known. We are now ready to state the precise nature of the problem that we solve.

Goal 1.9.

Given the defining polynomial fXf_{X} of a smooth hypersurface Xn+1X\subset\mathbbm{P}^{n+1}, compute a period matrix as defined in Definition 1.7 and the intersection matrix (γiγj)i,j=1m(\gamma_{i}\cdot\gamma_{j})_{i,j=1}^{m}.

1.2. Computing periods directly from the definitions

The existing algorithms which compute the periods of plane curves attack this problem directly by constructing cycles generating the homology on a given curve and taking the relevant integrals numerically [deconinck01, nils-18]. The 1-cycles generating the homology of a plane curve X2X\subset\mathbbm{P}^{2} are obtained by projecting XX to a coordinate axes 1\mathbbm{P}^{1}, which realizes XX as a finite cover of 1\mathbbm{P}^{1}, so that standard tools from topological covering theory may be used to compute the fundamental group π1(X)\pi_{1}(X) and therefore the middle homology H1(X,)\mathrm{H}_{1}(X,\mathbbm{Z}) [tretkoff-84].

A similar technique could in principle be attempted in higher dimensions. For instance in [elsenhans-18], a special case of surfaces is considered: K3 surfaces of rank 16 equipped with a double cover of the plane. There, explicit 2-cycles from the plane are lifted to the K3 surface. The intersection product is then determined numerically by repeated sampling.

Replicating this approach in higher dimensions by giving explicit representations of nn-cycles generating the homology will likely be very difficult. We solve the problem by giving the cycles implicitly, carrying them over from simpler hypersurfaces in theory, and computing the values of the period integrals by solving ordinary differential equations of Picard–Fuchs type.

1.3. Computing periods by homotopy

Let us suppose that we can compute all the periods of another smooth hypersurface Y=Z(fY)n+1Y=Z(f_{Y})\subset\mathbbm{P}^{n+1} of degree dd with respect to a basis γ1Y,,γmY\gamma_{1}^{Y},\dots,\gamma_{m}^{Y} for the middle homology Hn(Y,)\mathrm{H}_{n}(Y,\mathbbm{Z}) of YY. We will compute the periods of X=Z(fX)X=Z(f_{X}) from those of YY by what one might call a period homotopy. That is, we will compute the periods of XX from those of YY by deforming YY into XX and tracing the value of the periods by ordinary differential equations. We will outline this construction in the remainder of the introduction and delegate some of the details to Section 3.2.

Construct a family of hypersurfaces 𝒳t=Z(ft)n+1\mathcal{X}_{t}=Z(f_{t})\subset\mathbbm{P}^{n+1} varying algebraically with respect to a single complex parameter tt\in\mathbbm{C} such that 𝒳0=Y\mathcal{X}_{0}=Y and 𝒳1=X\mathcal{X}_{1}=X. For instance, one could take ft=(1t)fY+tfXf_{t}=(1-t)f_{Y}+tf_{X} to be the defining equation of 𝒳t\mathcal{X}_{t}. Except for finitely many values of tt in \mathbbm{C}, the hypersurface 𝒳t\mathcal{X}_{t} is smooth.

Using Ehresmann’s fibration theorem we may identify the topological spaces underlying the hypersurfaces 𝒳t\mathcal{X}_{t} along a path in the complex plane. We will choose this path so that it starts from t=0t=0 and ends at t=1t=1 while avoiding singular values of tt. In particular, such an identification gives an isomorphism between the homology groups Hn(Y,)\mathrm{H}_{n}(Y,\mathbbm{Z}) and Hn(𝒳t,)\mathrm{H}_{n}(\mathcal{X}_{t},\mathbbm{Z}) for each tt along this path. This isomorphism is locally canonical, not depending on the choice of the path or of the identification of the topological spaces.

Notation 1.10.

By slight abuse of notation, let us omit mention of the path and denote by γi(t)Hn(𝒳t,)\gamma_{i}(t)\in\mathrm{H}_{n}(\mathcal{X}_{t},\mathbbm{Z}) the homology class corresponding to γiY\gamma_{i}^{Y} via this isomorphism. In particular, the cycle classes γiX:=γi(1)\gamma_{i}^{X}:=\gamma_{i}(1) for i=1,,mi=1,\dots,m form a basis for the homology of XX.

Remark 1.11.

The intersection product (γi(t)γj(t))i,j(\gamma_{i}(t)\cdot\gamma_{j}(t))_{i,j} stays constant during deformation, so that we only need compute this intersection product on YY.

Remark 1.12.

The approach here of constructing γi(t)\gamma_{i}(t) is conceptually similar to the tracking of zeros of polynomial systems commonly employed in numerical algebraic geometry. An important distinction is that we do not actually carry out this tracking procedure and use only the existence of such γi(t)\gamma_{i}(t). Nevertheless, if effective representations for the cycles γiY\gamma_{i}^{Y} are given, as we do in Section 4.1, one could sample points on these cycles and carry these points via homotopy continuation methods (e.g. using Bertini [hauenstein-13] or HomotopyContinuation.jl [homotopyjl]) in order to get a point cloud representation of γi(t)\gamma_{i}(t).

Remark 1.13.

The basis γiX\gamma_{i}^{X} depends on the path chosen, however, only up to the discrete action of the monodromy group on homology. In particular, for the rest of the discussion, the choice of the path can be ignored as we will deal with the infinitesimal variation of periods.

Let p(x)[x0,,xn+1]p(x)\in\mathbbm{C}[x_{0},\dots,x_{n+1}] be of degree dn2d\ell-n-2 for 1\ell\geq 1. We will now describe how to compute the period vector:

12π1(τ(γ1X)p(x)fXΩ,,τ(γmX)p(x)fXΩ).\frac{1}{2\pi\sqrt{-1}}\left(\int_{\tau(\gamma^{X}_{1})}\frac{p(x)}{f_{X}^{\ell}}\Omega,\dots,\int_{\tau(\gamma^{X}_{m})}\frac{p(x)}{f_{X}^{\ell}}\Omega\right).

Define the following rational form varying with tt and having poles along 𝒳t\mathcal{X}_{t}:

(1.3.3) ω(t):=p(x)ftΩ.\omega(t):=\frac{p(x)}{f_{t}^{\ell}}\Omega.

We can now define the following period function:

(1.3.4) σ(t):=12π1(τ(γ1(t))p(x)ftΩ,,τ(γm(t))p(x)ftΩ).\sigma(t):=\frac{1}{2\pi\sqrt{-1}}\left(\int_{\tau(\gamma_{1}(t))}\frac{p(x)}{f_{t}^{\ell}}\Omega,\dots,\int_{\tau(\gamma_{m}(t))}\frac{p(x)}{f_{t}^{\ell}}\Omega\right).

We will compute the value of interest, σ(1)\sigma(1), by finding an ODE satisfied by σ(t)\sigma(t) and then determining the initial conditions σ(0),σ(1)(0),σ(2)(0),\sigma(0),\sigma^{(1)}(0),\sigma^{(2)}(0),\dots. From these, σ(1)\sigma(1) is found by numerical integration.

Remark 1.14.

The strategy outlined here is remarkably similar to the deformation method used in the computation of zeta functions of hypersurfaces defined over finite fields [pancratz-tuitman], where one computes the matrix of the Frobenius endomorphism by deforming it from the Fermat hypersurface using pp-adic analysis.

1.4. Finding the differential equations

Classically, a differential equation satisfied by a period function is called a Picard–Fuchs equation. In more recent incarnations, it is also referred to as a Gauss–Manin connection. The Picard–Fuchs equations are central to geometry as well as mathematical physics [cox-katz--mirror]. For a perspective from the side of arithmetic geometry, let us refer the interested reader to the landmark paper [katz-70]. From a computational viewpoint, finding differential equations satisfied by integrals of functions is a heavily studied subject [chyzak-00, koutschan-10]. In particular, Lairez [lairez--periods] has dedicated software which can compute the Picard–Fuchs equations of rational integrals.

We will now sketch how the Picard–Fuchs equation for σ(t)\sigma(t) is found. Denote the differentiation by tt operator with t\partial_{t}. The standard observation here is that we can differentiate under the integral sign:

tkτ(γi(t))p(x)ftΩ=τ(γi(t))tkp(x)ftΩ.\partial_{t}^{k}\int_{\tau(\gamma_{i}(t))}\frac{p(x)}{f_{t}^{\ell}}\Omega=\int_{\tau(\gamma_{i}(t))}\partial_{t}^{k}\frac{p(x)}{f_{t}^{\ell}}\Omega.

Indeed, if tt^{\prime} is very close to tt then γi(t)\gamma_{i}(t) and γi(t)\gamma_{i}(t^{\prime}) can be represented by cycles that are very close to one another. Then the tube τ(γi(t))\tau(\gamma_{i}(t)) encloses γi(t)\gamma_{i}(t^{\prime}) and is homotopic to the tube τ(γi(t))\tau(\gamma_{i}(t^{\prime})). Therefore, the domain of integration can be fixed while differentiating σ(t)\sigma(t).

In particular, suppose 𝒟(t)[t]\mathcal{D}\in\mathbbm{C}(t)[\partial_{t}] is a differential operator such that

(1.4.5) 𝒟ω(t)0,\mathcal{D}\omega(t)\equiv 0,

where ω(t)\omega(t) is defined as in Equation (1.3.3) and equivalence is taken modulo exact forms. Then, the operator 𝒟\mathcal{D} annihilates the period function σ(t)\sigma(t).

The construction of an operator 𝒟\mathcal{D} satisfying (1.4.5) is equivalent to finding a (t)\mathbbm{C}(t)-linear relation between the Griffiths–Dwork reductions of the derivatives ω(k)(t)\omega^{(k)}(t), where the reduction is performed over the field (t)\mathbbm{C}(t). Since these reduced forms must lie in a finite dimensional vector space, after finitely many differentiations and reductions we will find a (t)\mathbbm{C}(t)-linearly dependent set. The coefficients of the linear relation give 𝒟\mathcal{D}. We present additional details on the construction of the Picard–Fuchs equations in Section 2.5.

Remark 1.15.

In truth, these operations are algorithmic if, instead of \mathbbm{C}, we work over an effective subfield of \mathbbm{C}, where the equality of two elements can be checked in finite time. However, this is to be understood and will not be explicitly mentioned again. Our implementation works over the rational numbers but there are no significant hurdles to extending it to number fields.

1.5. Computing the initial values

It remains to find one smooth hypersurface YY for each n,d1n,d\geq 1 for which we can compute the periods. Fixing nn and dd, let us denote by YY the Fermat hypersurface cut out by the equation fY:=x0d++xndxn+1df_{Y}:=x_{0}^{d}+\dots+x_{n}^{d}-x_{n+1}^{d}.

The Fermat hypersurface has symmetries which we will exploit. In particular, the following automorphisms will be needed.

Definition 1.16.

Let ξ:=e2π1d\xi:=e^{\frac{2\pi\sqrt{-1}}{d}} be a dd-th root of unity. For each β=(β0,,βn+1)n+2\beta=(\beta_{0},\dots,\beta_{n+1})\in\mathbbm{Z}^{n+2} we define a translation tβ:YYt^{\beta}:Y\to Y on YY defined by scaling each of the coordinates by powers of ξ\xi as follows:

tβ:[x0,,xn+1][ξβ0x0,,ξβn+1xn+1].t^{\beta}:[x_{0},\dots,x_{n+1}]\mapsto[\xi^{\beta_{0}}x_{0},\dots,\xi^{\beta_{n+1}}x_{n+1}].
Notation 1.17.

In YY there is an nn-cycle SYS\subset Y, homeomorphic to a sphere, called the Pham cycle whose translates generate the relevant part of the homology (see Section 4.1).

When nn is odd, the set of translates {tβSβn+2}\{t^{\beta}S\mid\beta\in\mathbbm{Z}^{n+2}\} of SS generates the homology Hn(Y,)\mathrm{H}_{n}(Y,\mathbbm{Z}). In fact, we can find a finite subset Bn+2B\subset\mathbbm{Z}^{n+2} such that the set {tβSβB}\{t^{\beta}S\mid\beta\in B\} freely generates the homology. The determination of this subset BB relies on Corollary 4.8.

When nn is even, the Pham cycle and its translates do not generate the homology and we need one other cycle. Let LL be the image of the following linear map:

(1.5.6) n2\displaystyle\mathbbm{P}^{\frac{n}{2}} n+1\displaystyle\to\mathbbm{P}^{n+1}
[u0,,un2]\displaystyle[u_{0},\dots,u_{\frac{n}{2}}] [u0,ηu0,u1,ηu1,,un2,ηun2],\displaystyle\mapsto[u_{0},\eta u_{0},u_{1},\eta u_{1},\dots,u_{\frac{n}{2}},\eta u_{\frac{n}{2}}],

where η:=eπ1d\eta:=e^{\frac{\pi\sqrt{-1}}{d}} is a dd-th root of 1-1. The translates of SS together with LL generate the middle homology of YY, see Lemma 2.4. Once again, using Corollary 4.8, a finite subset Bn+2B\subset\mathbbm{Z}^{n+2} can be found algorithmically so that {tβSβB}{L}\{t^{\beta}S\mid\beta\in B\}\cup\{L\} freely generates Hn(Y,)\mathrm{H}_{n}(Y,\mathbbm{Z}).

However, for period computations, this extra class LL is redundant. The periods over tβSt^{\beta}S will determine the periods over LL by simple linear algebra as we explain in Section 4.5. In light of these statements, the following theorem allows for the computation of all periods on Fermat hypersurfaces.

Notation 1.18.

Let Γ(x)=0ettx1dt\Gamma(x)=\int_{0}^{\infty}e^{-t}t^{x-1}\mathrm{d}t denote the Euler gamma function.

Theorem (Theorem 4.19).

Let Yn+1Y\subset\mathbbm{P}^{n+1} be the degree dd Fermat hypersurface given by the equation fY=x0d++xndxn+1df_{Y}=x_{0}^{d}+\dots+x_{n}^{d}-x_{n+1}^{d}. Let α>0n+2\alpha\in\mathbbm{Z}_{>0}^{n+2} where |α|=d|\alpha|=\ell d for some >0\ell\in\mathbbm{Z}_{>0} and let βn+2\beta\in\mathbbm{Z}^{n+2}. Then we have:

12π1τ(tβS)x0a01xn+1an+11ΩfY=j=11(1an+1jd)i=0n(1ξαid)i=0nΓ(αid)Γ(i=0nαid)ξαβ,\frac{1}{2\pi\sqrt{-1}}\int_{\tau(t^{\beta}S)}x_{0}^{a_{0}-1}\cdots x_{n+1}^{a_{n+1}-1}\frac{\Omega}{f_{Y}^{\ell}}=-\prod_{j=1}^{\ell-1}\left(1-\frac{a_{n+1}}{jd}\right)\prod_{i=0}^{n}\left(\frac{1-\xi^{-\alpha_{i}}}{d}\right)\frac{\prod_{i=0}^{n}\Gamma(\frac{\alpha_{i}}{d})}{\Gamma(\sum_{i=0}^{n}\frac{\alpha_{i}}{d})}\xi^{\alpha\cdot\beta},

where αβ\alpha\cdot\beta denotes the dot product i=0n+1αiβi\sum_{i=0}^{n+1}\alpha_{i}\beta_{i}.

Remark 1.19.

The left hand side appears symmetric with respect to the exponents aia_{i}, whereas the last exponent an+1a_{n+1} plays a very distinctive role on the right hand side. This is because the Pham cycle SS breaks the symmetry as its construction is performed on the affine chart xn+1=1x_{n+1}=1.

Remark 1.20.

In the case of curves, n=1n=1, this result was first obtained by Rohrlich in the appendix to Gross’ paper [gross--abelian_integrals]. Later, Tretkoff [tretkoff--periods_of_fermat] computed these values for surfaces, n=2n=2. It appears that the periods of the Fermat hypersurface for any dimension have been first computed by Deligne [dmos-82, §I.7], with a thorough treatise to appear in [movasati--hodge, §15.2]. Combining these results with the residue computations in [carlson-80] would then recover the equation above. Nevertheless, the formula relies on elementary analysis and we compute it in Section 4.

Remark 1.21.

The intersection products of the Pham cycles tβSt^{\beta}S are well known and attributed to Pham [pham--fermat]. For a modern treatment see any one of [arnold-1984, movasati--hodge, looijenga-10].

Now that we have explicit formulas for the periods of the degree dd Fermat hypersurface Yn+1Y\subset\mathbbm{P}^{n+1}, the periods of any other degree dd hypersurface Xn+1X\subset\mathbbm{P}^{n+1} can be expressed as initial value problems using the strategy outlined in Sections 1.3 and 1.4. It remains to solve these initial value problems by numerical integration.

1.6. Numerical integration

The ODEs we obtain from the procedure outlined in Section 1.4 are typically huge. They require dedicated software to be integrated efficiently. We use Marc Mezzarobba’s analytic extension of the ore_algebra package in SageMath which has the added benefit of providing rigorous error bounds for the result [mezzarobba-oa]. As far as we are aware, no other software can handle ODEs that would take many pages to write down.

Currently, the determination of the ODEs and of the initial conditions is fully automated via our implementation in Magma [magma]. A simple script allows for the output to be integrated by Mezzarobba’s solver.

Acknowledgments

Bernd Sturmfels suggested this problem and provided guidance, support and motivation. Pierre Lairez generously made many expository and technical contributions to this project, in particular, he introduced me to LLL and to Mezzarobba’s work. I’ve also benefited from conversations with numerous other mathematicians. In particular, I would like to thank: Alex Degtyarev for introducing me to Pham cycles and answering related questions. Marc Mezzarobba for helpful comments on how to use his code. Mateusz Michałek for helping with Gröbner bases and combinatorics. Kristin Shaw for finding the paper which got this project off the ground. Lynn Chua for carefully reading through the first draft. In addition, I would like to thank Javier Fresan, Hossein Movasati and Jan Tuitman for valuable comments on the first version of this paper. Finally, heartfelt thanks to the referee for a careful reading of the manuscript and numerous suggestions for improvement.

2. Foundational material

In this section we will review the standard results that we rely on for a more detailed description of the period homotopy algorithm given in Section 3.2. Let Xn+1X\subset\mathbbm{P}^{n+1} be a smooth degree dd hypersurface, defined as the zero locus of an irreducible polynomial fX[x0,,xn+1]f_{X}\in\mathbbm{C}[x_{0},\dots,x_{n+1}].

2.1. Primitive (co)homology

Understanding the homology and cohomology of XX is greatly simplified by passing to its complement n+1X\mathbbm{P}^{n+1}\setminus X. However, by this passage we lose a small amount of information and describe the primitive (co)homology instead.

Notation 2.1.

If n=dimXn=\dim_{\mathbbm{C}}X is even, let hHn(X,)h\in\mathrm{H}_{n}(X,\mathbbm{Z}) be the class of the intersection XΛX\cap\Lambda where Λn+1\Lambda\subset\mathbbm{P}^{n+1} is a linear space of codimension n2\frac{n}{2}. If nn is odd set h=0h=0.

Recall that we have a non-degenerate intersection pairing:

Hn(X,)×Hn(X,)\displaystyle\mathrm{H}_{n}(X,\mathbbm{Z})\times\mathrm{H}_{n}(X,\mathbbm{Z}) \displaystyle\to\mathbbm{Z}
(γ1,γ2)\displaystyle(\gamma_{1},\gamma_{2}) γ1γ2,\displaystyle\mapsto\gamma_{1}\cdot\gamma_{2},

which is alternating if nn is odd and symmetric if nn is even. On cohomology we have the dual cup product.

Definition 2.2.

The subgroup of homology formed by cycle classes orthogonal to hh is called the primitive homology of XX and denoted:

PHn(X,):={γHn(X,)γh=0}.\mathrm{PH}_{n}(X,\mathbbm{Z}):=\{\gamma\in\mathrm{H}_{n}(X,\mathbbm{Z})\mid\gamma\cdot h=0\}.

Similarly, the elements in cohomology Hn(X,)\mathrm{H}^{n}(X,\mathbbm{Z}) which annihilate hh form the primitive cohomology of XX, denoted PHn(X,)\mathrm{PH}^{n}(X,\mathbbm{Z}). Define PHn(X,𝕂)\mathrm{PH}_{n}(X,\mathbbm{K}) and PHn(X,𝕂)\mathrm{PH}^{n}(X,\mathbbm{K}) in a similar fashion for 𝕂\mathbbm{K} a field.

When nn is odd, primitive (co)homology coincides with (co)homology. When nn is even, hh=dh\cdot h=d and thus hPHn(X,)h\notin\mathrm{PH}_{n}(X,\mathbbm{Z}). However, we need to add more than just hh into the primitive homology in order to recover homology.

Lemma 2.3.

When nn is even, there is a class vPHn(X,)v\in\mathrm{PH}_{n}(X,\mathbbm{Z}) such that hv=1h\cdot v=1.

Proof.

By Ehresmann’s fibration theorem, any two hypersurfaces of degree dd and dimension nn are equivalent from a homological point of view. Therefore, we may assume that XX is the Fermat hypersurface. Then we may take vv to be the class of any linear space contained in XX, such as the one given in Equation (1.5.6). Clearly, vh=1v\cdot h=1. ∎

Lemma 2.4.

When nn is even, the subgroup PHn(X,)h\mathrm{PH}_{n}(X,\mathbbm{Z})\oplus\mathbbm{Z}\langle h\rangle has index dd in Hn(X,)\mathrm{H}_{n}(X,\mathbbm{Z}). For vh=1v\cdot h=1 we have PHn(X,)v=Hn(X,)\mathrm{PH}_{n}(X,\mathbbm{Z})\oplus\mathbbm{Z}\langle v\rangle=\mathrm{H}_{n}(X,\mathbbm{Z}).

Proof.

Since vh=1v\cdot h=1 but hh=dh\cdot h=d it is clear that vPHn(X,)hv\notin\mathrm{PH}_{n}(X,\mathbbm{Z})\oplus\mathbbm{Z}\langle h\rangle. On the other hand, given any class uHn(X,)u\in\mathrm{H}_{n}(X,\mathbbm{Z}) we can define u:=u(uv)hPHn(X,)u^{\prime}:=u-(u\cdot v)h\in\mathrm{PH}_{n}(X,\mathbbm{Z}) and write u=u+(uv)hPHn(X,)vu=u^{\prime}+(u\cdot v)h\in\mathrm{PH}_{n}(X,\mathbbm{Z})\oplus\mathbbm{Z}\langle v\rangle. This implies that the inclusion PHn(X,)vHn(X,)\mathrm{PH}_{n}(X,\mathbbm{Z})\oplus\mathbbm{Z}\langle v\rangle\hookrightarrow\mathrm{H}_{n}(X,\mathbbm{Z}) is an isomorphism. In particular, PHn(X,)h\mathrm{PH}_{n}(X,\mathbbm{Z})\oplus\mathbbm{Z}\langle h\rangle has index d=degXd=\deg X in Hn(X,)\mathrm{H}_{n}(X,\mathbbm{Z}). ∎

Remark 2.5.

In homology with rational coefficients, Hn(X,)\mathrm{H}_{n}(X,\mathbbm{Q}), we have h(v1dh)=0h\cdot(v-\frac{1}{d}h)=0. Therefore, we can express vv as a sum 1dh+γ\frac{1}{d}h+\gamma where γPHn(X,)\gamma\in\mathrm{PH}_{n}(X,\mathbbm{Q}).

Let U:=n+1XU:=\mathbbm{P}^{n+1}\setminus X be the complement of XX. Recall that for any nn-cycle γX\gamma\subset X we defined by τ(γ)U\tau(\gamma)\subset U the (n+1)(n+1)-cycle obtained by forming a thin tube, i.e., S1S^{1}-bundle, over γ\gamma. This induces the following map between homology groups:

(2.1.7) Hn(X,)\displaystyle\mathrm{H}_{n}(X,\mathbbm{Z}) Hn+1(U,)\displaystyle\to\mathrm{H}_{n+1}(U,\mathbbm{Z})
[γ]\displaystyle[\gamma] [τ(γ)].\displaystyle\mapsto[\tau(\gamma)].

In cohomology, the corresponding map is:

(2.1.8) HdRn+1(U,)\displaystyle\mathrm{H}_{\operatorname{dR}}^{n+1}(U,\mathbbm{C}) Hn(X,)\displaystyle\to\mathrm{H}^{n}(X,\mathbbm{C})
ω\displaystyle\omega (γ12π1τ(γ)ω).\displaystyle\mapsto(\gamma\mapsto\frac{1}{2\pi\sqrt{-1}}\int_{\tau(\gamma)}\omega).
Proposition 2.6.

The natural map Hn+1(U,)Hn(X,)\mathrm{H}^{n+1}(U,\mathbbm{C})\to\mathrm{H}^{n}(X,\mathbbm{C}) defined above establishes an isomorphism:

Hn+1(U,)PHn(X,).\mathrm{H}^{n+1}(U,\mathbbm{C})\overset{\sim}{\to}\mathrm{PH}^{n}(X,\mathbbm{C}).
Proof.

This follows from the excision sequence in topology. See page 159 of [voisin-2007-volII]. ∎

2.2. Griffiths residues

Let VV be the space of all holomorphic top forms on U=n+1XU=\mathbbm{P}^{n+1}\setminus X, i.e., V=H0(U,ΩU/n+1)V=\mathrm{H}^{0}(U,\Omega^{n+1}_{U/\mathbbm{C}}). Let us denote by VVV_{\ell}\subset V the subspace of forms which extend to n+1\mathbbm{P}^{n+1} with a pole order at most \ell on XX. In symbols, V=H0(n+1,𝒪n+1([X]))V_{\ell}=\mathrm{H}^{0}(\mathbbm{P}^{n+1},\mathcal{O}_{\mathbbm{P}^{n+1}}(\ell[X])). Then we have V=1VV=\bigoplus_{\ell\geq 1}V_{\ell}.

Remark 2.7.

Let us point out that any element in VV_{\ell} can be written as a quotient:

pfXΩ,\frac{p}{f_{X}^{\ell}}\Omega,

where p[x0,,xn+1]p\in\mathbbm{C}[x_{0},\dots,x_{n+1}] is of degree dn2d\ell-n-2, Ω\Omega is the volume form on n+1\mathbbm{P}^{n+1} defined in Equation (1.1.1) and fXf_{X} is the equation defining XX.

Proposition 2.8.

The natural map VHn+1(U,)V\to\mathrm{H}^{n+1}(U,\mathbbm{C}) is surjective. The kernel of this map is generated by exact forms in VV.

Proof.

This is a particular case of Theorem 6.4 [voisin-2007-volII]. ∎

Definition 2.9.

The composition of the maps VHn+1(U,)PHn(X,)V\twoheadrightarrow\mathrm{H}^{n+1}(U,\mathbbm{C})\overset{\sim}{\to}\mathrm{PH}^{n}(X,\mathbbm{C}) is called the residue map, and will be denoted by res:VPHn(X,)\operatorname{res}:V\twoheadrightarrow\mathrm{PH}^{n}(X,\mathbbm{C}). The restriction of the residue map to VV_{\ell} will be denoted by res\operatorname{res}_{\ell}. Equations (2.1.7) and (2.1.8) imply the following identity:

(2.2.9) γresω=12π1τ(γ)ω,\int_{\gamma}\operatorname{res}\omega=\frac{1}{2\pi\sqrt{-1}}\int_{\tau(\gamma)}\omega,

for any γHn(X,)\gamma\in\mathrm{H}_{n}(X,\mathbbm{Z}) and ωV\omega\in V.

Definition 2.10.

A set of forms ω1,,ωNV\omega_{1},\dots,\omega_{N}\in V will be said to form a residue basis for XX if their residues resω1,,resωN\operatorname{res}\omega_{1},\dots,\operatorname{res}\omega_{N} form a basis in PHn(X,)\mathrm{PH}^{n}(X,\mathbbm{C}).

The cohomology of XX admits the Hodge decomposition Hn(X,)=k=0nHnk,k(X,)\mathrm{H}^{n}(X,\mathbbm{C})=\bigoplus_{k=0}^{n}\mathrm{H}^{n-k,k}(X,\mathbbm{C}). The corresponding Hodge filtration is denoted by:

F(Hn(X,)):=k=0Hnk,k(X,).F^{\ell}(\mathrm{H}^{n}(X,\mathbbm{C})):=\bigoplus_{k=0}^{\ell}\mathrm{H}^{n-k,k}(X,\mathbbm{C}).

This filtration on cohomology induces a filtration on the primitive cohomology by restriction:

F(PHn(X,)):=PHn(X,)F(Hn(X,)).F^{\ell}(\mathrm{PH}^{n}(X,\mathbbm{C})):=\mathrm{PH}^{n}(X,\mathbbm{C})\cap F^{\ell}(\mathrm{H}^{n}(X,\mathbbm{C})).
Theorem 2.11.

The residue map res:VPHn(X,)\operatorname{res}_{\ell}:V_{\ell}\to\mathrm{PH}^{n}(X,\mathbbm{C}) surjects onto F1(PHn(X,))F^{\ell-1}(\mathrm{PH}^{n}(X,\mathbbm{C})).

Proof.

This is Theorem 8.1 of [griffiths--periods]. ∎

Remark 2.12.

Notice that there are no exact forms in V1V_{1} as the derivative of a rational form can not produce pole order one. Combined with the theorem above we get an isomorphism:

res:V1Hn,0(𝒳t,)PHn(𝒳t,).\operatorname{res}:V_{1}\overset{\sim}{\to}\mathrm{H}^{n,0}(\mathcal{X}_{t},\mathbbm{C})\hookrightarrow\mathrm{PH}^{n}(\mathcal{X}_{t},\mathbbm{C}).

2.3. Kernel of the residue map

There is a finite procedure to maximally reduce an element in VV modulo the kernel of the residue map. This reduction procedure is based on the following two theorems. The first theorem states that we do not need infinitely many pole orders to describe the primitive cohomology of XX.

Theorem 2.13 (Theorem 4.2 [griffiths--periods]).

The restricted residue map resn+1:Vn+1PHn(X,)\operatorname{res}_{n+1}:V_{n+1}\to\mathrm{PH}^{n}(X,\mathbbm{C}) is surjective where n=dimXn=\dim_{\mathbbm{C}}X.

The second theorem makes the kernel of the residue map more explicit and is a strengthening of Proposition 2.8 above. Let W=H0(n+1,Ωn/n([X]))W_{\ell}=\mathrm{H}^{0}(\mathbbm{P}^{n+1},\Omega^{n}_{\mathbbm{P}^{n}/\mathbbm{C}}(\ell[X])) be the space of nn-forms on n+1\mathbbm{P}^{n+1} with pole order at most \ell on XX. Once again, these can be viewed as holomorphic nn-forms on UU. We have the algebraic derivation map d:WV:ηdη\mathrm{d}:W\to V:\eta\mapsto\mathrm{d}\eta which allows us to write:

Hn+1(U,)V/d(W).\mathrm{H}^{n+1}(U,\mathbbm{C})\simeq V/\mathrm{d}(W).
Theorem 2.14 (Theorem 4.3 [griffiths--periods]).

For each 1\ell\geq 1, the kernel of the restricted residue map res:VPHn(X,)\operatorname{res}_{\ell}:V_{\ell}\to\mathrm{PH}^{n}(X,\mathbbm{C}) is exactly the image of the derivation map d:W1V\mathrm{d}:W_{\ell-1}\to V_{\ell}.

Remark 2.15.

It is clear that d(W1)\mathrm{d}(W_{\ell-1}) must belong to the kernel of res\operatorname{res}_{\ell}. What is non-trivial here is that, if for some kk\geq\ell a form ηWk\eta\in W_{k} has derivative dη\mathrm{d}\eta in VV_{\ell}, then we can find η~V1\tilde{\eta}\in V_{\ell-1} such that dη=dη~\mathrm{d}\eta=\mathrm{d}\tilde{\eta}.

2.4. Griffiths–Dwork reduction

Given a form ωV\omega\in V we will describe the Griffiths–Dwork reduction on ω\omega which modifies ω\omega modulo the kernel of the residue map and puts it into a reduced form. The primary motivation for this reduction is Lemma 2.18.

Recall the nature of the elements in VV from Remark 2.7. We will now describe the elements in WW, the holomorphic nn-forms on n+1X\mathbbm{P}^{n+1}\setminus X. Let us use dxi,j\mathrm{d}x^{i,j} to refer to the nn-form dx0dxi^dxj^dxn+1\mathrm{d}x_{0}\dots\widehat{\mathrm{d}x_{i}}\dots\widehat{\mathrm{d}x_{j}}\dots\mathrm{d}x_{n+1}, where hat denotes omission. A form in φW\varphi\in W_{\ell} can be written as:

(2.4.10) φ\displaystyle\varphi =i<j(1)i+j(xisj(x)xjsi(x))dxi,jfX,\displaystyle=\sum_{i<j}(-1)^{i+j}(x_{i}s_{j}(x)-x_{j}s_{i}(x))\frac{\mathrm{d}x^{i,j}}{f_{X}^{\ell}},

where si[x0,,xn+1]s_{i}\in\mathbbm{C}[x_{0},\dots,x_{n+1}] is homogeneous of degree (dn1)(\ell d-n-1) (see [griffiths--periods] for a derivation of this fact).

Let us say that a form ωV\omega\in V has pole order \ell if ωV\omega\in V_{\ell} but ωV1\omega\notin V_{\ell-1}. Pole order induces a natural grading on VV. If ωV\omega\in V we will write ω=i=1rωj\omega=\sum_{i=1}^{r}\omega_{j} where ωj\omega_{j} is zero or has pole order jj, and the highest term ωr\omega_{r} is non-zero. Let us refer to rr as the pole order of ω\omega. Similarly, we can grade WW by pole order.

Notation 2.16.

Let J(fX)=(fXx0,,fXxn+1)J(f_{X})=(\frac{\partial f_{X}}{\partial x_{0}},\dots,\frac{\partial f_{X}}{\partial x_{n+1}}) in [x0,,xn+1]\mathbbm{C}[x_{0},\dots,x_{n+1}] be the Jacobian ideal of fXf_{X}. We will assume a Gröbner basis for J(fX)J(f_{X}) is fixed once and for all, so that all remainder computations modulo J(fX)J(f_{X}) are well defined.

Given ω=i=1rωiV\omega=\sum_{i=1}^{r}\omega_{i}\in V, for each i=1,,ri=1,\dots,r write ωi=pi(x)ΩfXi\omega_{i}=p_{i}(x)\frac{\Omega}{f_{X}^{i}} where pip_{i} is a polynomial of degree idn2id-n-2 not divisible by fXf_{X}. Let qrq_{r} be the remainder of prp_{r} modulo J(fX)J(f_{X}) and find polynomials s0,,sn+1s_{0},\dots,s_{n+1} satisfying:

prqr=j=0n+1sjfXxj.p_{r}-q_{r}=\sum_{j=0}^{n+1}s_{j}\frac{\partial f_{X}}{\partial x_{j}}.

Define the polynomial qr1=1r1j=0n+1sjxjq_{r-1}=\frac{1}{r-1}\sum_{j=0}^{n+1}\frac{\partial s_{j}}{\partial x_{j}}. Then by Equation 2.4.10 we may conclude that ω\omega is equivalent modulo exact forms to

ω~:=qrΩfXr+(pr1+qr1)ΩfXr1+i=1r2ωi.\tilde{\omega}:=\frac{q_{r}\Omega}{f_{X}^{r}}+\frac{(p_{r-1}+q_{r-1})\Omega}{f_{X}^{r-1}}+\sum_{i=1}^{r-2}\omega_{i}.

The choice of the “coordinates” sis_{i} for the difference prqrp_{r}-q_{r} is not canonical and therefore the partially reduced form ω~\tilde{\omega} is not canonical. However, an application of Theorem 2.14 implies that any other choice of coordinates would yield a reduction that is equivalent to ω~\tilde{\omega} modulo exact forms of pole order r1r-1. This difference will vanish in the next step of the reduction.

Writing ω~=i=1rω~i\tilde{\omega}=\sum_{i=1}^{r}\tilde{\omega}_{i}, and ω~i=p~iΩfXi\tilde{\omega}_{i}=\frac{\tilde{p}_{i}\Omega}{f_{X}^{i}}, we can apply the same reduction method to the form ω~r1\tilde{\omega}_{r-1}. After repeated application, all terms in the pole decomposition have been put into a normal form with regards to J(fX)J(f_{X}).

Definition 2.17.

The resulting form is denoted by [ω]GD[\omega]_{\operatorname{GD}} and will be called a reduced form.

Lemma 2.18.

Suppose ω1,,sω\vphantom{\omega}{}^{1}\omega,\dots,\vphantom{\omega}^{s}\omega are reduced forms in VV. Then the ωi\vphantom{\omega}{}^{i}\omega are linearly independent over \mathbbm{C} if and only if the cohomology classes resiω\operatorname{res}\vphantom{\omega}^{i}\omega are linearly independent over \mathbbm{C}.

Proof.

The “if” direction is trivial. We prove the other implication by proving its contrapositive. In fact, we will prove that any linear relation amongst the residues lifts to a linear relation on the reduced forms. Suppose i=1sairesiω=0\sum_{i=1}^{s}a_{i}\operatorname{res}\vphantom{\omega}^{i}\omega=0 for some aia_{i}\in\mathbbm{C} and define η=i=1saiiω=j=1rηj\eta=\sum_{i=1}^{s}a_{i}\vphantom{\omega}^{i}\omega=\sum_{j=1}^{r}\eta_{j} where rr is the maximal pole order amongst all ωi\vphantom{\omega}{}^{i}\omega. We will show by descending induction on pole order that ηj=0\eta_{j}=0 for all jj. Since resη=0\operatorname{res}\eta=0, we can reduce the pole order of η\eta modulo the kernel of the residue map. This means that the highest order term ηr=prΩfr\eta_{r}=\frac{p_{r}\Omega}{f^{r}} must satisfy prJ(fX)p_{r}\in J(f_{X}). On the other hand, the highest order terms of ωi\vphantom{\omega}{}^{i}\omega are all in normal form with respect to J(fX)J(f_{X}) and thus a linear combination belongs to J(fX)J(f_{X}) if and only if the linear combination is 0, implying pr=0p_{r}=0. We may now proceed to pole order r1r-1, and since ηr=0\eta_{r}=0, resη=0\operatorname{res}\eta=0 implies ηr1J(fX)\eta_{r-1}\in J(f_{X}). We may thus repeat the argument for all terms ηj\eta_{j}. ∎

Let RR be the polynomial ring [x0,,xn+1]\mathbbm{C}[x_{0},\dots,x_{n+1}]. We will denote by RsRR_{s}\subset R the subspace of homogeneous degree ss polynomials in RR. For a homogeneous ideal IRI\subset R, we denote by IsI_{s} the intersection IRsI\cap R_{s}. Define the following vector space:

S=1Rdn2/J(fX)dn2.S=\bigoplus_{\ell\geq 1}R_{d\ell-n-2}/J(f_{X})_{d\ell-n-2}.

Observe that SR/J(fX)S\subset R/J(f_{X}) is finite dimensional since Z(fX)Z(f_{X}) is smooth.

Let p1,,pN[x0,,xn+1]p_{1},\dots,p_{N}\in\mathbbm{C}[x_{0},\dots,x_{n+1}] be homogeneous polynomials which descend to a basis on SS. For each ii, let i\ell_{i} be the positive integer satisfying degpi=din2\deg p_{i}=d\ell_{i}-n-2. Define the forms

ωi:=pifiΩ,i=1,,N.\omega_{i}:=\frac{p_{i}}{f^{\ell_{i}}}\Omega,\quad i=1,\dots,N.
Proposition 2.19.

The forms ω1,,ωN\omega_{1},\dots,\omega_{N} form a residue basis for XX, see Definition 2.10.

Proof.

This follows from Lemma 2.18 above and the observation that none of the ωi\omega_{i} can be reduced any further. See also Proposition 6.2 in [voisin-2007-volII]. ∎

Remark 2.20.

For convenience, we explained the Griffiths–Dwork reduction over \mathbbm{C}. However, the reduction algorithm works over any field of characteristic 0. We need the restriction on the characteristic because of the division required during the reduction process.

2.5. Picard–Fuchs equations

Fix an integer n>0n>0 and let f[s][x0,,xn+1]f\in\mathbbm{C}[s][x_{0},\dots,x_{n+1}] be a homogeneous polynomial of degree dd with coefficients which are polynomial in the variable ss, further assume that the coefficients of ff are relatively prime. For tt\in\mathbbm{C} we will write ft:=f|s=tf_{t}:=f|_{s=t}, 𝒳t:=Z(ft)n+1\mathcal{X}_{t}:=Z(f_{t})\subset\mathbbm{P}^{n+1} and Ut:=n+1𝒳tU_{t}:=\mathbbm{P}^{n+1}\setminus\mathcal{X}_{t}. Let us assume that 𝒳t\mathcal{X}_{t} is smooth for generic tt.

Fix a non-zero polynomial p[x0,,xn+1]p\in\mathbbm{C}[x_{0},\dots,x_{n+1}] of degree dn2d\ell-n-2 where 1\ell\geq 1 is an integer. Define the following holomorphic form on UtU_{t}:

ω(t):=p(x)ftΩ.\omega(t):=\frac{p(x)}{f_{t}^{\ell}}\Omega.

We will now describe how to find the Picard–Fuchs equation corresponding to ω(t)\omega(t).

Recall that we denote by t\partial_{t} the differentiation by tt operator. Let ω(k)(t):=tkω(t)\omega^{(k)}(t):=\partial^{k}_{t}\omega(t) be the kk-th derivative of ω(t)\omega(t) with respect to tt. For any k=0,1,k=0,1,\dots the Griffiths–Dwork reduction [ω(k)(t)]GD[\omega^{(k)}(t)]_{\operatorname{GD}} of the kk-th derivative has pole order bounded by n+1n+1 due to Theorem 2.13. In particular, the reductions of these infinitely many derivatives live in a finite dimensional (t)\mathbbm{C}(t)-vector space.

Let δ1\delta\geq 1 be the smallest integer for which there is a linear linear relation:

(2.5.11) [ω(t)(δ)]GD+aδ1(t)[ω(t)(δ1)]GD++a0(t)[ω(t)]GD=0,[\omega(t)^{(\delta)}]_{\operatorname{GD}}+a_{\delta-1}(t)[\omega(t)^{(\delta-1)}]_{\operatorname{GD}}+\dots+a_{0}(t)[\omega(t)]_{\operatorname{GD}}=0,

where ai(t)(t)a_{i}(t)\in\mathbbm{C}(t) are rational functions in tt.

Notation 2.21.

Let 𝒟=tδ+i=0δ1ai(t)ti(t)[t]\mathcal{D}=\partial_{t}^{\delta}+\sum_{i=0}^{\delta-1}a_{i}(t)\partial_{t}^{i}\in\mathbbm{C}(t)[\partial_{t}] be the corresponding differential operator.

Lemma 2.22.

Modulo exact forms, we have the following equivalence:

𝒟ω(t)0.\mathcal{D}\omega(t)\equiv 0.
Proof.

Indeed, in Equation (2.5.11) we may simply substitute [ω(k)(t)]GDω(k)(t)[\omega^{(k)}(t)]_{\operatorname{GD}}\equiv\omega^{(k)}(t) for each k=0,,δk=0,\dots,\delta. ∎

Definition 2.23.

The ODE constructed above, 𝒟=0\mathcal{D}=0, is called the Picard–Fuchs equation corresponding to the form ω\omega.

From now on assume that 𝒳0\mathcal{X}_{0} is a smooth hypersurface. Furthermore, we will assume that a basis for the primitive homology is fixed around t=0t=0, which we will denote by {γi(t)}i=1mPHn(𝒳t,)\{\gamma_{i}(t)\}_{i=1}^{m}\subset\mathrm{PH}_{n}(\mathcal{X}_{t},\mathbbm{Z}). As in the introduction (1.3.4), define the period function associated to ω(t)\omega(t):

(2.5.12) σ(t):=(γ1resω(t),,γmresω(t)),\sigma(t):=\left(\int_{\gamma_{1}}\operatorname{res}\omega(t),\dots,\int_{\gamma_{m}}\operatorname{res}\omega(t)\right),

and the individual periods σi(t)=γiresω(t)\sigma_{i}(t)=\int_{\gamma_{i}}\operatorname{res}\omega(t).

Lemma 2.24.

The operator 𝒟\mathcal{D} defined above is the minimal annihilating differential operator for the period function σ(t)\sigma(t).

Proof.

Suppose 𝒟(t)[t]\mathcal{D}^{\prime}\in\mathbbm{C}(t)[\partial_{t}] is another monic operator annihilating σ(t)\sigma(t) with order no greater than the order of 𝒟\mathcal{D}. Then the form res(𝒟ω)\operatorname{res}(\mathcal{D}^{\prime}\omega) integrates to 0 over all γi(t)\gamma_{i}(t). But γi(t)\gamma_{i}(t) span the primitive homology, which is dual to the primitive cohomology to which resω\operatorname{res}\omega belongs. This forces res(𝒟ω)=0\operatorname{res}(\mathcal{D}^{\prime}\omega)=0 and thus [𝒟(t)ω]GD=0[\mathcal{D}^{\prime}(\partial_{t})\omega]_{\operatorname{GD}}=0. By definition of 𝒟\mathcal{D} we must have 𝒟=𝒟\mathcal{D}=\mathcal{D}^{\prime}. ∎

The coefficients of 𝒟\mathcal{D} may have poles at t=0t=0. However, the poles at t=0t=0 are always mild, which for us means that the space of solutions of 𝒟=0\mathcal{D}=0 is generated by holomorphic functions around t=0t=0. Before we start this proof, define the following space of functions generated by periods associated to ω\omega:

=σi(t)i=1,,m.\mathcal{L}=\mathbbm{C}\langle\sigma_{i}(t)\mid i=1,\dots,m\rangle.
Proposition 2.25.

The solution space of 𝒟=0\mathcal{D}=0 near t=0t=0 is \mathcal{L}. In particular, all solutions of this ODE are holomorphic at t=0t=0.

Proof.

By construction, 𝒟\mathcal{D} annihilates the vector σ(t)=(σ1(t),,σm(t))\sigma(t)=(\sigma_{1}(t),\dots,\sigma_{m}(t)). Therefore, \mathcal{L} is contained in the solution space of 𝒟=0\mathcal{D}=0. This implies dimδ\dim_{\mathbbm{C}}\mathcal{L}\leq\delta.

On the other hand, minimality of 𝒟\mathcal{D} implies that the derivatives σ(t),σ(t)(1),,σ(t)(δ1)\sigma(t),\sigma(t)^{(1)},\dots,\sigma(t)^{(\delta-1)} are not linearly dependent over (t)\mathbbm{C}(t). Any linear relation satisfied by the entries of σ(t)\sigma(t) would continue to be satisfied by the entries of the derivatives of σ(t)\sigma(t). In particular, all the derivatives σ(k)(t)\sigma^{(k)}(t) must lie in a fixed sub-space of m\mathbbm{C}^{m} having dimension dim\dim\mathcal{L}. This forces dimδ\dim_{\mathbbm{C}}\mathcal{L}\geq\delta completing the proof. ∎

Remark 2.26.

Numerous properties of Picard–Fuchs equations are explored in depth in the book [arnold-1984]. The previous proof is adapted from that of Theorem 12.2.1 in loc. cit.

2.6. Computing the initial conditions

Since the Picard–Fuchs equation 𝒟=0\mathcal{D}=0 of degree δ\delta defined in Notation 2.21 may have a singularity at t=0t=0, the first δ\delta derivatives of σ(t)\sigma(t) at t=0t=0 may not be sufficient to start integration. Nevertheless, Proposition 2.25 implies that we can find a basis for the solution space whose power series expansions near t=0t=0 will have the following leading terms:

tu1,tu2,,tuδ,t^{u_{1}},t^{u_{2}},\dots,t^{u_{\delta}},

where uiu_{i}’s are non-negative integers satisfying 0u1<u2<<uδ0\leq u_{1}<u_{2}<\dots<u_{\delta}. These integers are readily computed, as we will now show.

Evaluating a differential operator 𝒟(t)[t]\mathcal{D}^{\prime}\in\mathbbm{C}(t)[\partial_{t}] on tat^{a} for some indeterminate aa and expanding the result in power series around t=0t=0 gives an expression of the form

𝒟(ta)=ι𝒟(a)tk+higher order terms.\mathcal{D}(t^{a})=\iota_{\mathcal{D}}(a)t^{k}+\text{higher order terms.}
Definition 2.27.

The coefficient of the lowest order term appearing in 𝒟(ta)\mathcal{D}^{\prime}(t^{a}) is a polynomial ι𝒟(a)\iota_{\mathcal{D}}(a) which is called the indicial polynomial of 𝒟\mathcal{D}^{\prime} at t=0t=0.

Lemma 2.28.

The integers u1,,uδu_{1},\dots,u_{\delta} are precisely the roots of the indicial equation of 𝒟\mathcal{D}.

Proof.

It is clear that each uiu_{i} must be a root of the indicial equation. There can be no other root since the indicial equation of pp has the same degree as 𝒟\mathcal{D}. ∎

To start integrating our Picard–Fuchs equation 𝒟=0\mathcal{D}=0, we need only compute the following integrals:

σi(k)(0)=γiresω(k)(0),k{u1,,uδ},i=1,,m.\sigma_{i}^{(k)}(0)=\int_{\gamma_{i}}\operatorname{res}\omega^{(k)}(0),\,\quad k\in\{u_{1},\dots,u_{\delta}\},\,i=1,\dots,m.

3. The algorithm

Let X=Z(fX)n+1X=Z(f_{X})\subset\mathbbm{P}^{n+1} be a smooth hypersurface of degree dd. We want to compute a period matrix for XX. The algorithm outlined in the introduction gives this period matrix in theory by deforming XX to the Fermat hypersurface Z(i=0n+1xid)Z(\sum_{i=0}^{n+1}x_{i}^{d}). However, we can get better performance by making full use of the inductive nature of the algorithm. In this section, we will give a more effective strategy and clarify some of the steps that were only sketched in the introduction.

Roughly, what works well is to approach XX by a sequence of hypersurfaces Z(g0),,Z(gn+1)Z(g_{0}),\dots,Z(g_{n+1}) where gr+1:=fXg_{r+1}:=f_{X}, each of the hypersurfaces Z(gi)Z(g_{i}) are smooth, each consecutive pair of hypersurfaces (Z(gi),Z(gi+1))(Z(g_{i}),Z(g_{i+1})) are “close to each other” and we start with Z(g0)Z(g_{0}) of Fermat type.

Definition 3.1.

A hypersurface is called of Fermat type if its defining equation is a sum of powers with arbitrary coefficients,

c0x0d++cn+1xn+1d,c_{0}x_{0}^{d}+\dots+c_{n+1}x_{n+1}^{d},

where ci0c_{i}\in\mathbbm{C}\setminus 0 for all ii.

The notion of being “close together” is measured by the size of the support of gi+1gig_{i+1}-g_{i} in the following sense.

Definition 3.2.

The support of a polynomial pp is the set of monomials which appear with non-zero coefficient in pp.

Once the hypersurfaces Z(gi)Z(g_{i}) are constructed, the periods of Z(g1)Z(g_{1}) can be deduced from the periods of the Fermat type hypersurface Z(g0)Z(g_{0}), and the periods of Z(g2)Z(g_{2}) deduced from the periods of Z(g1)Z(g_{1}), etc. We will give heuristics on how to construct a sequence (g0,,gr+1)(g_{0},\dots,g_{r+1}) which improves performance in Section 3.1.

We mean by period homotopy the process of determining a period matrix for one hypersurface from the period matrix of another hypersurface. We give details on how to perform period homotopy in Section 3.2.

3.1. Constructing a good sequence

In theory, one may apply period homotopy to any sequence of smooth hypersurfaces. However, in practice, some sequences give vastly superior performance over others. We describe our method of constructing a sequence which tends to perform well.

We start with g0=i=0n+1cixidg_{0}=\sum_{i=0}^{n+1}c_{i}x_{i}^{d} whose coefficients ci{0}c_{i}\in\mathbbm{C}\setminus\{0\} are designed to match the coefficients of fXf_{X} as closely as possible: If the monomial xidx_{i}^{d} appears with non-zero coefficient in fXf_{X} then we will take cic_{i} to be this coefficient. Otherwise, we will randomly generate cic_{i} such that its order of magnitude matches the size of the coefficients of fXf_{X}. The rest of the sequence is constructed inductively, by following the set of heuristics below.

Heuristics 3.3.

Guiding heuristics while constructing the polynomial gig_{i} from gi1g_{i-1}:

  1. (1)

    The support of fXgif_{X}-g_{i} must be strictly contained in the support of fXgi1f_{X}-g_{i-1}.

  2. (2)

    The support of gigi1g_{i}-g_{i-1} should be small.

  3. (3)

    The support of gig_{i} should be small.

Note that the first heuristic guarantees that the process terminates. The second heuristic makes sure that the derivatives of forms defined over the family (1t)gi1+tgi(1-t)g_{i-1}+tg_{i} do not get unnecessarily complicated. The third heuristic is intended to make the partial derivatives of gig_{i} simple, which plays a role in the Griffiths–Dwork reduction.

These heuristics are crude. There may be different paths from g0g_{0} to fXf_{X} with the size of the relevant supports equal at each step, but giving very different results in terms of the complexity of the Picard–Fuchs equations (see Definition 5.3). As a compromise, we facilitate discovery by randomizing the construction process.

We implemented a randomized greedy algorithm, whose details will not be given here, but the code is available in the source where the function is called BreakingPath222https://github.com/emresertoz/PeriodSuite/suite.mag.

Remark 3.4.

A theoretical investigation of what makes a good sequence should be interesting in its own right and, in particular, would be of immense value for this algorithm. See Section 5 for examples demonstrating the impact of making a good choice for a path of deformation.

3.2. Period homotopy

Let X=Z(fX)X=Z(f_{X}) and Y=Z(fY)Y=Z(f_{Y}) be smooth hypersurfaces in n+1\mathbbm{P}^{n+1} of degree dd, with fXf_{X} and fYf_{Y} reduced. Suppose that 𝒫Y\mathcal{P}_{Y} is a period matrix of YY computed using an ordered residue basis ωY:=(ω~1,,ω~N)\omega_{Y}:=(\tilde{\omega}_{1},\dots,\tilde{\omega}_{N}), see Definition 2.10 for this notion. The particular homology basis used in the computation of 𝒫Y\mathcal{P}_{Y} is irrelevant.

We will now give an algorithm which takes as input the tuple (fX,fY,𝒫Y,ωY)(f_{X},f_{Y},\mathcal{P}_{Y},\omega_{Y}) and gives as output a tuple (𝒫X,ωX)(\mathcal{P}_{X},\omega_{X}) where 𝒫X\mathcal{P}_{X} is a period matrix of XX computed using an ordered residue basis ωX\omega_{X}.

It will be convenient to use the following notation throughout, so as to avoid computing pole orders explicitly within the text.

Notation 3.5.

Let p,f[x0,,xn+1]p,f\in\mathbbm{C}[x_{0},\dots,x_{n+1}] be homogeneous polynomials such that degp=dfn2\deg p=d\ell f-n-2 where \ell is a positive integer. Then we will define the following form:

φ(p,f):=pfΩ.\varphi(p,f):=\frac{p}{f^{\ell}}\Omega.

We linearly extend this map to allow for non-homogeneous pp.

Step 1: Finding a simultaneous residue basis

Let us recall some notation from Section 2. We define RR to be the polynomial ring [x0,,xn+1]\mathbbm{C}[x_{0},\dots,x_{n+1}], RsRR_{s}\subset R the subspace of homogeneous degree ss polynomials in RR. For a homogeneous ideal II in RR, IsI_{s} is the intersection IRsI\cap R_{s}. As in Notation 2.16 we will use J(f)J(f) to denote the Jacobian ideal of a polynomial ff.

Definition 3.6.

Let p1,,pNRp_{1},\dots,p_{N}\in R be polynomials such that the sets of forms {φ(pi,fX)i=1,,N}\{\varphi(p_{i},f_{X})\mid i=1,\dots,N\} and {φ(pi,fY)i=1,,N}\{\varphi(p_{i},f_{Y})\mid i=1,\dots,N\} are residue bases for XX and YY respectively. Then we will call {p1,,pN}\{p_{1},\dots,p_{N}\} a simultaneous residue basis for XX and YY.

Using Proposition 2.19 we can find a simultaneous residue basis for XX and YY. This requires that we find, for each =1,,n+1\ell=1,\dots,n+1, a set of polynomials in Rdn2R_{d\ell-n-2} which descend to bases in both of the following vector spaces:

  • Rdn2/J(fX)dn2R_{d\ell-n-2}/J(f_{X})_{d\ell-n-2},

  • Rdn2/J(fY)dn2R_{d\ell-n-2}/J(f_{Y})_{d\ell-n-2}.

This is a problem in linear algebra and is readily solved.

Remark 3.7.

Heuristically, a basis consisting of polynomials supported on as few monomials as possible tend to give faster performance during the computation of the differential equations. In general, there is no simultaneous residue basis for XX and YY consisting only of monomials. However, a basis consisting of a mixture of monomial and binomial terms can always be found and this is what the function CompatibleCohomologyBasis in PeriodSuite finds.

Step 2: Computing the Picard–Fuchs equations

Consider the family of hypersurfaces 𝒳tn+1\mathcal{X}_{t}\subset\mathbbm{P}^{n+1} defined by ft=(1t)fY+tfXf_{t}=(1-t)f_{Y}+tf_{X} with parameter tt\in\mathbbm{C}. For each i=1,,Ni=1,\dots,N let ωi(t)=φ(pi,ft)\omega_{i}(t)=\varphi(p_{i},f_{t}), where p1,,pNp_{1},\dots,p_{N} form a simultaneous residue basis for XX and YY.

For each i=1,,Ni=1,\dots,N, use the construction in Section 2.5 to obtain the Picard–Fuchs equation 𝒟i(t)[t]\mathcal{D}_{i}\in\mathbbm{C}(t)[\partial_{t}] of ωi(t)\omega_{i}(t).

Step 3: Initial conditions

With 𝒟i(t)[δt]\mathcal{D}_{i}\in\mathbbm{C}(t)[\delta_{t}] the Picard–Fuchs equation of ωi(t)\omega_{i}(t), we will now compute the initial conditions for the associated period function σi(t){}^{i}\sigma(t), defined as in Equation (2.5.12).

Let u1,,uku_{1},\dots,u_{k} be the roots of the indicial equation of 𝒟i\mathcal{D}_{i}. As explained in Section 2.6 the initial conditions we need are σ(uj)i(0){}^{i}\sigma^{(u_{j})}(0) for j=1,,kj=1,\dots,k. These are the period vectors associated to ωi(uj)(0)\omega_{i}^{(u_{j})}(0) on YY.

Since we are given a residue basis ω~1,,ω~N\tilde{\omega}_{1},\dots,\tilde{\omega}_{N} as input, we may express ωi(uj)(0)\omega_{i}^{(u_{j})}(0) in terms of these basis elements by working with reduced forms. Fixing ii and jj, suppose now that a1,,aNa_{1},\dots,a_{N}\in\mathbbm{C} are computed such that:

ωi(uj)(0)a1ω~1++aNω~N,\omega_{i}^{(u_{j})}(0)\equiv a_{1}\tilde{\omega}_{1}+\dots+a_{N}\tilde{\omega}_{N},

with equivalence being modulo exact forms.

We know the associated period vector for each of the forms in the residue basis; they are the rows of 𝒫Y\mathcal{P}_{Y}. Therefore, the linear expression of ωi(uj)(0)\omega_{i}^{(u_{j})}(0) computed above allows us to compute the corresponding period vector:

σ(uj)i(0)=𝒫Y[a1aN].{}^{i}\sigma^{(u_{j})}(0)=\mathcal{P}_{Y}\begin{bmatrix}a_{1}\\ \vdots\\ a_{N}\end{bmatrix}.

Performing this operation for all jj gives us all of the initial conditions required to integrate 𝒟i\mathcal{D}_{i}.

Remark 3.8.

Of course, when YY is a Fermat type hypersurface, we do not need the period matrix for YY. It is faster to use the formula given in Theorem 4.19.

Step 4: Numerical integration

Construct a path h:[0,1]h:[0,1]\to\mathbbm{C} such that h(0)=0h(0)=0 and h(1)=1h(1)=1, with the additional constraint that the 𝒳h(u)\mathcal{X}_{h(u)} is smooth for every u[0,1]u\in[0,1].

Remark 3.9.

To satisfy the last requirement, we need to determine the values of tt for which 𝒳t\mathcal{X}_{t} is singular (or, determine a non-disconnecting set containing these singular values). A direct attack would be to compute the singular values of ftf_{t} by elimination theory. This methods is potentially expensive, but works well in practice. The second method would be to compute the poles of the coefficients of 𝒟i\mathcal{D}_{i} for each ii. This second method is simpler to execute, but gives many more points than just the singular fibers of the family 𝒳t\mathcal{X}_{t}, making it harder to construct hh. A Voronoi cell decomposition can be used to find a path that stays as far away from the singularities as possible, improving the time of integration.333We implemented both path finding schemes in PeriodSuite.

We now need to integrate each 𝒟i\mathcal{D}_{i} over the path hh using the initial conditions computed in Step 3. The result of this integration will form the ii-th row of the matrix 𝒫X\mathcal{P}_{X}.

Remark 3.10.

The integration of 𝒟i\mathcal{D}_{i} for each ii should be performed using the same path hh. Otherwise, one risks computing each row of 𝒫X\mathcal{P}_{X} using a different homology basis!

Output

Return 𝒫X\mathcal{P}_{X} and the residue basis {φ(pi,fX)i=1,,N}\{\varphi(p_{i},f_{X})\mid i=1,\dots,N\}.

3.3. Classical periods

We need the period matrix for the intermediate hypersurfaces used to approach XX in order to perform period homotopy. However, since we are primarily interested in the Hodge structure on a variety, we do not need all of the period matrix on the target hypersurface XX.

Definition 3.11.

The period of a rational form with pole order n2\ell\leq\lceil\frac{n}{2}\rceil over XX will be called a classical period of XX. The portion of the period matrix formed by elements of the residue basis whose reductions have pole order n2\ell\leq\lceil\frac{n}{2}\rceil will be called a classical period matrix of XX.

The notation is justified by allusion to curves and surfaces. In the case of curves, classically, the periods that were studied are only those corresponding to pole order =1\ell=1, which is sufficient for geometric applications. In the case of surfaces, again, one only considers pole order =1\ell=1: for instance one studies the period vector of a K3 surface rather than its 22×2122\times 21 period matrix.

When we are computing the periods of a sequence of hypersurfaces with target XX, it can be much faster to compute only the classical periods of XX. The modification to the period homotopy need only be made in the following sense: the period matrices of intermediate hypersurfaces have to be computed as usual, but at the step when the periods of XX are computed, we determine and integrate only the Picard–Fuchs equations of residue basis elements with pole order n2\ell\leq\lceil\frac{n}{2}\rceil.

4. Periods of the Fermat hypersurface

Let fY=x0d++xndxn+1df_{Y}=x_{0}^{d}+\dots+x_{n}^{d}-x_{n+1}^{d} and Y:=Z(fY)n+1Y:=Z(f_{Y})\in\mathbbm{P}^{n+1} be the corresponding Fermat hypersurface. The hypersurface YY is simple enough to be studied in depth and, therefore, serves as our base point for period homotopy. We can scale each xidx_{i}^{d} by a non-zero constant and the results of this section will carry through, see Section 4.4.

4.1. Pham cycles

Fix the following root of unity ξ=e2π1d\xi=e^{\frac{2\pi\sqrt{-1}}{d}}. Let GAut(Y)G\subset\operatorname{Aut}(Y) be the sub-group of automorphisms of YY generated by scaling the coordinates by ξ\xi. To be more explicit, let R=[G]R=\mathbbm{Z}[G] be the corresponding group ring and [t0,,tn+1]\mathbbm{Z}[t_{0},\dots,t_{n+1}] a polynomial ring. We will associate to tit_{i} the following action:

[x0,,xi,,xn+1][x0,,ξxi,,xn+1].[x_{0},\dots,x_{i},\dots,x_{n+1}]\mapsto[x_{0},\dots,\xi x_{i},\dots,x_{n+1}].

This defines a map

[t0,,tn+1]R,\mathbbm{Z}[t_{0},\dots,t_{n+1}]\to R,

where the kernel is given by the ideal KK generated by the following n+3n+3 elements:

t0tn+11,tid1,i=0,,n+1.t_{0}\cdots t_{n+1}-1,\quad t_{i}^{d}-1,\,i=0,\dots,n+1.

We will thus make the following identification without further mention:

[t0,,tn+1]/KR.\mathbbm{Z}[t_{0},\dots,t_{n+1}]/K\simeq R.

Note that we can write tn+1t_{n+1} as (t0tn)1=t0d1tnd1(t_{0}\cdots t_{n})^{-1}=t_{0}^{d-1}\cdots t_{n}^{d-1} so we can eliminate tn+1t_{n+1} when necessary; for instance, when we pass to the affine chart xn+10x_{n+1}\neq 0 of n+1\mathbbm{P}^{n+1}.

Let Un+1U\subset\mathbbm{P}^{n+1} be the affine chart xn+1=1x_{n+1}=1 and Yo:=YUYY^{o}:=Y\cap U\subset Y be the corresponding locus, i.e., Yo={(x0,,xn)x0d++xnd=1}Y^{o}=\{(x_{0},\dots,x_{n})\mid x_{0}^{d}+\dots+x_{n}^{d}=1\}.

Definition 4.1.

Let D:={(s0,,sn)si[0,1],s0d++snd=1}YoD:=\{(s_{0},\dots,s_{n})\mid s_{i}\in[0,1]\subset\mathbbm{R},\,s_{0}^{d}+\dots+s_{n}^{d}=1\}\subset Y^{o}.

Remark 4.2.

The space DD is homeomorphic to the nn-simplex s0++sn=1s_{0}+\dots+s_{n}=1.

Let S:=(1t01)(1tn1)DS:=(1-t_{0}^{-1})\cdots(1-t_{n}^{-1})D, which is to be viewed as an nn-chain in YoY^{o}. By a straightforward computation, one can check that the boundary S\partial S is zero, thus [S]Hn(Yo,)[S]\in\mathrm{H}_{n}(Y^{o},\mathbbm{Z}). Since GG acts on YY as well as YoY^{o}, we may view Hn(Yo,)\mathrm{H}_{n}(Y^{o},\mathbbm{Z}) and Hn(Y,)\mathrm{H}_{n}(Y,\mathbbm{Z}) as R=[G]R=\mathbbm{Z}[G] modules via the induced covariant action on homology.

Notation 4.3.

Define the RR-module homomorphism φ:RHn(Yo,)\varphi:R\to\mathrm{H}_{n}(Y^{o},\mathbbm{Z}) given by 1[S]1\mapsto[S].

Theorem 4.4 (Theorem 1 [pham--fermat]).

The morphism φ\varphi is surjective, with kernel given by:

kerφ=(1+ti++tid1i=0,,n).\ker\varphi=(1+t_{i}+\dots+t_{i}^{d-1}\mid i=0,\dots,n).
Remark 4.5.

By standard arguments, one can show that the middle homology Hn(Y,)\mathrm{H}_{n}(Y,\mathbbm{Z}) of a degree dd hypersurface in n+1\mathbbm{P}^{n+1} is torsion-free and of rank

i=0n(1)i(n+2i)dn+1i+(1)n+12n2.\sum_{i=0}^{n}(-1)^{i}{n+2\choose i}d^{n+1-i}+(-1)^{n+1}2\left\lceil\frac{n}{2}\right\rceil.

Any cycle in γHn(Yo,)\gamma\in\mathrm{H}_{n}(Y^{o},\mathbbm{Z}) can be viewed as a cycle in Hn(Y,)\mathrm{H}_{n}(Y,\mathbbm{Z}), but more is true: γ\gamma will not intersect the hyperplane class. Therefore, the natural inclusion map YoYY^{o}\to Y defines a map 𝔧:Hn(Yo,)PHn(Y,)\mathfrak{j}:\mathrm{H}_{n}(Y^{o},\mathbbm{Z})\to\mathrm{PH}_{n}(Y,\mathbbm{Z}). Furthermore, 𝔧\mathfrak{j} is surjective since any primitive cycle in YY can be arranged so as not to intersect the hyperplane section x0=0x_{0}=0.

We will need the following explicit description of the primitive cohomology. We learned this statement from an earlier draft of [degtyarev-16] but the final version no longer contains it. We take the liberty to repeat it here and give a different proof.

Notation 4.6.

Let JJ be the ideal of RR generated by (1+ti++tid1i=0,,n+1)(1+t_{i}+\dots+t_{i}^{d-1}\mid i=0,\dots,n+1). Notice that JJ has one more generator than the kernel of φ\varphi given in Theorem 4.4.

Definition 4.7.

Let MM be a \mathbbm{Z}-module. A submodule NN in a module MM is called primitive if M/NM/N is torsion-free. The primitive closure (or saturation) of NN, denoted pcl(N)\operatorname{pcl}(N), is the smallest primitive submodule containing NN.

Corollary 4.8.

Composing the map φ\varphi with the surjection 𝔧:Hn(Yo,)PHn(Y,)\mathfrak{j}:\mathrm{H}_{n}(Y^{o},\mathbbm{Z})\twoheadrightarrow\mathrm{PH}_{n}(Y,\mathbbm{Z}) defines a surjective map RPHn(Y,):1[S]R\to\mathrm{PH}_{n}(Y,\mathbbm{Z}):1\mapsto[S]. The kernel of this map is

ker(𝔧φ)=pcl(J),\ker(\mathfrak{j}\circ\varphi)=\operatorname{pcl}(J),

where pcl\operatorname{pcl} denotes the primitive closure of the ideal in RR viewed as a \mathbbm{Z}-submodule.

Proof.

The morphism RPHn(Y,)R\to\mathrm{PH}_{n}(Y,\mathbbm{Z}) is GG-equivariant by design. Therefore its kernel must be a GG-invariant ideal. Combining this observation with Theorem 4.4 we conclude that the kernel contains JJ. On the other hand, PHn(Y,)\mathrm{PH}_{n}(Y,\mathbbm{Z}) is torsion-free which means that the kernel must contain the primitive closure of JJ.

To show that the kernel cannot contain anything else we simply compute the dimension of PHn(Y,)\mathrm{PH}_{n}(Y,\mathbbm{Q}) using the formula given in Remark 4.5 and see that it equals the dimension of (R/pcl(J))(R/\operatorname{pcl}(J))\otimes_{\mathbbm{Z}}\mathbbm{Q}. ∎

4.2. Making the residue map explicit

Pick α:=(a0,,an+1)>0n+2\alpha:=(a_{0},\dots,a_{n+1})\in\mathbbm{Z}_{>0}^{n+2} such that |α|=d|\alpha|=\ell d for an integer \ell. Recall fY=x0d++xndxn+1df_{Y}=x_{0}^{d}+\dots+x_{n}^{d}-x_{n+1}^{d} and Y=Z(fY)n+1Y=Z(f_{Y})\subset\mathbbm{P}^{n+1}. We define:

(4.2.13) ωα:=x0a01xn+1an+11ΩfY.\omega_{\alpha}:=x_{0}^{a_{0}-1}\dots x_{n+1}^{a_{n+1}-1}\frac{\Omega}{f_{Y}^{\ell}}.

Recall Griffiths’ residue map from Section 2.2:

res:1H0(ωn+1([Y]))PHn(Y,).\operatorname{res}:\bigoplus_{\ell\geq 1}\mathrm{H}^{0}(\omega_{\mathbbm{P}^{n+1}}(\ell[Y]))\to\mathrm{PH}^{n}(Y,\mathbbm{C}).

In this section we will make this residue map explicit, by associating to ωα\omega_{\alpha} a meromorphic form ηα\eta_{\alpha} on YY. The poles of ηα\eta_{\alpha} will be positioned along a hyperplane section of YY, so that ηα\eta_{\alpha} represents a primitive cohomology class on YY.

Remark 4.9.

A general treatment of the residue map appears in [carlson-80] from which explicit formulas like the ones below may be derived algebraically.

Lemma 4.10.

Let λ{0}\lambda\in\mathbbm{C}\setminus\{0\} be a non-zero number, a>0a\in\mathbbm{Z}_{>0} and 0<ε10<\varepsilon\ll 1. Then, we have the following residue formula:

12πi|zλ|=εza1dz(λdzd)=(1)d(1)!j=11(ajd)λad.\frac{1}{2\pi i}\int_{|z-\lambda|=\varepsilon}\frac{z^{a-1}\mathrm{d}z}{(\lambda^{d}-z^{d})^{\ell}}=\frac{(-1)^{\ell}}{d^{\ell}(\ell-1)!}\prod_{j=1}^{\ell-1}(a-jd)\lambda^{a-\ell d}.
Proof.

Since λ\lambda is non-zero and ε\varepsilon is small, we can choose a branch of the dd-th root function such that the substitution z=λu1/dz=\lambda u^{1/d} is well defined, where uu is restricted to a neighbourhood of 1. After performing this substitution, the integrand obtains a form suitable for applying Cauchy’s differentiation formula and the result follows444We thank the mathoverflow user GH from MO for spotting this simple proof.. ∎

Notation 4.11.

Let cd,,ac_{d,\ell,a} be the value of the integral given in Lemma 4.10 with λ=1\lambda=1.

Definition 4.12.

A tuple α=(a0,,an+1)>0n+2\alpha=(a_{0},\dots,a_{n+1})\in\mathbbm{Z}^{n+2}_{>0} satisfying i=0n+1ai0(modd)\sum_{i=0}^{n+1}a_{i}\equiv 0\allowbreak\mkern 10.0mu({\operator@font mod}\,\,d) will be called an admissible index. For an admissible index α\alpha we define the form:

ηα:=(x0a01xn1an11xnanddx0dxn1)|Y.\eta_{\alpha}:=\left.\left(x_{0}^{a_{0}-1}\cdots x_{n-1}^{a_{n-1}-1}x_{n}^{a_{n}-d}\mathrm{d}x_{0}\cdots\mathrm{d}x_{n-1}\right)\right|_{Y}.
Proposition 4.13.

For an admissible index α\alpha, we have an equivalence modulo exact forms:

resωαcd,,an+1ηα.\operatorname{res}\omega_{\alpha}\equiv c_{d,\ell,a_{n+1}}\eta_{\alpha}.
Proof.

In order to end up with poles that are favorably positioned, we will begin working in the affine chart Un:={xn0}n+1U_{n}:=\{x_{n}\neq 0\}\subset\mathbbm{P}^{n+1} and later pass to the affine chart Un+1:={xn+10}n+1U_{n+1}:=\{x_{n+1}\neq 0\}\subset\mathbbm{P}^{n+1}. Let ui=xixnu_{i}=\frac{x_{i}}{x_{n}} denote the coordinate functions on UnU_{n}. We then have:

ωα|Un=u0a01un1an11un+1an+11(u0d++un1d+1un+1d)du0dun1dun+1.\omega_{\alpha}|_{U_{n}}=\frac{u_{0}^{a_{0}-1}\cdots u_{n-1}^{a_{n-1}-1}u_{n+1}^{a_{n+1}-1}}{(u_{0}^{d}+\dots+u_{n-1}^{d}+1-u_{n+1}^{d})^{\ell}}\mathrm{d}u_{0}\dots\mathrm{d}u_{n-1}\mathrm{d}u_{n+1}.

On the open locus where un+10u_{n+1}\neq 0, the tangent vector un+1\frac{\partial}{\partial u_{n+1}} does not belong to the tangent space of YY. Therefore we can construct a tubular neighbourhood around Y~:=Y{xnxn+10}\tilde{Y}:=Y\cap\{x_{n}x_{n+1}\neq 0\} by using an S1S^{1}-fibration π:τ(Y~)Y~\pi:\tau(\tilde{Y})\to\tilde{Y} where τ(Y~)n+1Y\tau(\tilde{Y})\subset\mathbbm{P}^{n+1}\setminus Y and each fiber of π\pi is a (small) circle in the direction of un+1\frac{\partial}{\partial u_{n+1}}.

Integrating ωα\omega_{\alpha} along this S1S^{1}-fibration, we can push it down to a form on Y~\tilde{Y} which we will denote by π!ωα\pi_{!}\omega_{\alpha}. Fix a point p=[u0,,un1,1,un+1]Yp=[u_{0},\dots,u_{n-1},1,u_{n+1}]\in Y and notice that un+1d=u0d++un1d+1u_{n+1}^{d}=u_{0}^{d}+\dots+u_{n-1}^{d}+1. The integral over the fiber of π:τ(Y~)Y~\pi:\tau(\tilde{Y})\to\tilde{Y} over pp will give:

π!ωα|p=u0a01un1an11(|zun+1|<εzan+11dz(un+1dzd))du0dun1,\pi_{!}\omega_{\alpha}|_{p}=u_{0}^{a_{0}-1}\cdots u_{n-1}^{a_{n-1}-1}\left(\int_{|z-u_{n+1}|<\varepsilon}\frac{z^{a_{n+1}-1}\mathrm{d}z}{(u_{n+1}^{d}-z^{d})^{\ell}}\right)\mathrm{d}u_{0}\dots\mathrm{d}u_{n-1},

for small ε>0\varepsilon>0. Now we use Lemma 4.10 to conclude:

π!ωα|p=cd,,an+1u0a01un1an11un+1an+1ddu0dun1.\pi_{!}\omega_{\alpha}|_{p}=c_{d,\ell,a_{n+1}}u_{0}^{a_{0}-1}\cdots u_{n-1}^{a_{n-1}-1}u_{n+1}^{a_{n+1}-\ell d}\mathrm{d}u_{0}\dots\mathrm{d}u_{n-1}.

Due to the severity of the poles at un+1=0u_{n+1}=0 we change coordinates to the affine chart Un+1:={xn+10}n+1U_{n+1}:=\{x_{n+1}\neq 0\}\subset\mathbbm{P}^{n+1}. Let us denote by vi=xixn+1v_{i}=\frac{x_{i}}{x_{n+1}} the coordinate functions on Un+1U_{n+1}. Naturally, vn+1=1v_{n+1}=1 and vnui=viv_{n}u_{i}=v_{i} for i=0,,n+1i=0,\dots,n+1. By mere substitution, and using the identity a0++an+1=da_{0}+\dots+a_{n+1}=\ell d, we have:

u0a01un1an11un+1an+1d=v0a01vn1an11vnan+n.u_{0}^{a_{0}-1}\cdots u_{n-1}^{a_{n-1}-1}u_{n+1}^{a_{n+1}-\ell d}=v_{0}^{a_{0}-1}\cdots v_{n-1}^{a_{n-1}-1}v_{n}^{a_{n}+n}.

On the other hand, a straightforward computation reveals that the volume form changes in the following way:

du0dun+1=vnnddv0dvn1,\mathrm{d}u_{0}\dots\mathrm{d}u_{n+1}=v_{n}^{-n-d}\mathrm{d}v_{0}\cdots\mathrm{d}v_{n-1},

where we used both of the following identities on the hypersurface YY: v0d++vnd=1v_{0}^{d}+\dots+v_{n}^{d}=1 and dvn=v0d1vnd1dv0++vn1d1vnd1dvn1\mathrm{d}v_{n}=\frac{v_{0}^{d-1}}{v_{n}^{d-1}}\mathrm{d}v_{0}+\dots+\frac{v_{n-1}^{d-1}}{v_{n}^{d-1}}\mathrm{d}v_{n-1}.

Putting these two together gives us the desired result. Note that the tubular neighbourhood gets infinitely thin as we approach the locus vn=0v_{n}=0. Nevertheless, we can extend our representation of π!ωα\pi_{!}\omega_{\alpha} to the locus vn=0v_{n}=0 simply because it has no poles there, as can be verified by substituting dvi=vnd1vid1dvn+\mathrm{d}v_{i}=\frac{v_{n}^{d-1}}{v_{i}^{d-1}}\mathrm{d}v_{n}+\dots for any one of the viv_{i} appearing in the volume form. ∎

Combining Section 2.2 with Proposition 4.13 we conclude that a generating set for the primitive cohomology PHn(Y,)\mathrm{PH}^{n}(Y,\mathbbm{C}) is given by the set of forms ηα\eta_{\alpha} as α\alpha ranges through admissible indices.

4.3. Residues over Pham cycles

Recall from Section 4.1 that D={(s0,,sn)si[0,1],s0d++snd=1}YoD=\{(s_{0},\dots,s_{n})\mid s_{i}\in[0,1],s_{0}^{d}+\dots+s_{n}^{d}=1\}\subset Y^{o} and S=(1t01)(1tn1)DS=(1-t_{0}^{-1})\cdots(1-t_{n}^{-1})D is the Pham cycle generating the primitive integral homology PHn(Y,)\mathrm{PH}_{n}(Y,\mathbbm{Z}) under the action of the group ring R=[t0,,tn+1]R=\mathbbm{Z}[t_{0},\dots,t_{n+1}].

Notation 4.14.

For a given integer sequence β=(β0,,βn+1)n+2\beta=(\beta_{0},\dots,\beta_{n+1})\in\mathbbm{Z}^{n+2} denote by tβt^{\beta} the element t0β0tn+1βn+1t_{0}^{\beta_{0}}\cdots t_{n+1}^{\beta_{n+1}} of RR.

Then for any β\beta and any admissible α\alpha we wish to compute the integral:

σα,β:=tβSηα,\sigma_{\alpha,\beta}:=\int_{t^{\beta}S}\eta_{\alpha},

where ηα\eta_{\alpha} is given in Definition 4.12.

Let Γ(x)=0ettx1dt\Gamma(x)=\int_{0}^{\infty}e^{-t}t^{x-1}\mathrm{d}t denote the Euler gamma function. Recall the identity ([artin--gamma, pg. 19]):

(4.3.14) 01ta1(1t)b1dt\displaystyle\int_{0}^{1}t^{a-1}(1-t)^{b-1}\mathrm{d}t =Γ(a)Γ(b)Γ(a+b),a,b+.\displaystyle=\frac{\Gamma(a)\Gamma(b)}{\Gamma(a+b)},\quad a,b\in\mathbbm{R}_{+}.
Lemma 4.15.

The integral of ηα\eta_{\alpha} over DD has the following value:

Dηα=i=0nΓ(αid)dnΓ(i=0nαid).\int_{D}\eta_{\alpha}=\frac{\prod_{i=0}^{n}\Gamma(\frac{\alpha_{i}}{d})}{d^{n}\Gamma(\sum_{i=0}^{n}\frac{\alpha_{i}}{d})}.
Proof.

For s[0,1]s\in[0,1]\subset\mathbbm{R} the positive dd-th root of ss is well defined and will be denoted by s1ds^{\frac{1}{d}}. We will make use of this fact without further mention in the following substitutions.

With the understanding that empty product equals 1, and for real coordinates (s0,,sn)D(s_{0},\dots,s_{n})\in D we introduce the following variables inductively:

ui:=sidj=0i1(1uj),i=0,,n1.u_{i}:=\frac{s_{i}^{d}}{\prod_{j=0}^{i-1}(1-u_{j})},\quad i=0,\dots,n-1.

We now have:

si\displaystyle s_{i} =ui1dj=0i1(1ui)1d,i=0,,n1.\displaystyle=u_{i}^{\frac{1}{d}}\prod_{j=0}^{i-1}(1-u_{i})^{\frac{1}{d}},\quad i=0,\dots,n-1.

By induction on nn one can see that:

snd=1s0dsn1d=i=0n1(1ui).s_{n}^{d}=1-s_{0}^{d}-\dots-s_{n-1}^{d}=\prod_{i=0}^{n-1}(1-u_{i}).

The differentials dsi\mathrm{d}s_{i} can be expressed in terms of the differentials duj\mathrm{d}u_{j} for jij\leq i in the following manner:

dsi=1dui1d1j=0i1(1uj)1ddui+,\mathrm{d}s_{i}=\frac{1}{d}u_{i}^{\frac{1}{d}-1}\prod_{j=0}^{i-1}(1-u_{j})^{\frac{1}{d}}\mathrm{d}u_{i}+\dots,

where we omitted the terms involving duj\mathrm{d}u_{j}’s for j<ij<i since they will be killed when taking the volume form. Indeed, the volume form can now be written as:

ds0dsn1=1dn(i=0n1ui1d1(1ui)ni1d)du0dun1.\mathrm{d}s_{0}\cdots\mathrm{d}s_{n-1}=\frac{1}{d^{n}}\left(\prod_{i=0}^{n-1}u_{i}^{\frac{1}{d}-1}(1-u_{i})^{\frac{n-i-1}{d}}\right)\mathrm{d}u_{0}\cdots\mathrm{d}u_{n-1}.

Putting everything together, we get:

ηα|D=1dni=0n1(uiαid1(1ui)j=i+1nαjd1)du0dun1.\eta_{\alpha}|_{D}=\frac{1}{d^{n}}\prod_{i=0}^{n-1}\left(u_{i}^{\frac{\alpha_{i}}{d}-1}(1-u_{i})^{\frac{\sum_{j=i+1}^{n}\alpha_{j}}{d}-1}\right)\mathrm{d}u_{0}\cdots\mathrm{d}u_{n-1}.

We have successfully separated the variables in the integrand, therefore we have the following equality:

Dηα=1dni=0n1(01uiαid1(1ui)j=i+1nαjd1dui).\int_{D}\eta_{\alpha}=\frac{1}{d^{n}}\prod_{i=0}^{n-1}\left(\int_{0}^{1}u_{i}^{\frac{\alpha_{i}}{d}-1}(1-u_{i})^{\frac{\sum_{j=i+1}^{n}\alpha_{j}}{d}-1}\mathrm{d}u_{i}\right).

Substituting the identity in Equation 4.3.14 we get a telescoping product, giving us the claimed result. ∎

For integer sequences α=(α0,,αn+1)\alpha=(\alpha_{0},\dots,\alpha_{n+1}), β=(β0,,βn+1)\beta=(\beta_{0},\dots,\beta_{n+1}) let αβ=i=0n+1αiβi\alpha\cdot\beta=\sum_{i=0}^{n+1}\alpha_{i}\beta_{i}.

Lemma 4.16.

For admissible α\alpha and any β\beta we have:

tβDηα=ξαβDηα.\int_{t^{\beta}D}\eta_{\alpha}=\xi^{\alpha\cdot\beta}\int_{D}\eta_{\alpha}.
Proof.

This follows at once by the change of variables (tβ)ηα(t^{\beta})^{*}\eta_{\alpha}. ∎

Proposition 4.17.

For any admissible α\alpha and any β\beta we have:

tβSηα=ξαβ(i=0n((1ξαi)Γ(αid))dnΓ(i=0nαid)).\int_{t^{\beta}S}\eta_{\alpha}=\xi^{\alpha\cdot\beta}\left(\frac{\prod_{i=0}^{n}\left((1-\xi^{-\alpha_{i}})\Gamma(\frac{\alpha_{i}}{d})\right)}{d^{n}\Gamma(\sum_{i=0}^{n}\frac{\alpha_{i}}{d})}\right).
Proof.

Recalling S=(1t01)(1tn1)DS=(1-t_{0}^{-1})\cdots(1-t_{n}^{-1})D, this follows from Lemmas 4.15 and 4.16. ∎

Remark 4.18.

This formula also appears in [dmos-82, §I.7] and [movasati--hodge, §15.2].

We recall here that for an integer sequence α=(a0,,an+1)>0n+2\alpha=(a_{0},\dots,a_{n+1})\in\mathbbm{Z}^{n+2}_{>0} such that |α|=d|\alpha|=\ell d we defined the meromorphic form

(4.3.15) ωα=x0a01xn+1an+11(x0d+xndxn+1d)Ω,\omega_{\alpha}=\frac{x_{0}^{a_{0}-1}\cdots x_{n+1}^{a_{n+1}-1}}{(x_{0}^{d}+\dots x_{n}^{d}-x_{n+1}^{d})^{\ell}}\Omega,

where Ω\Omega is the volume form on n+1\mathbbm{P}^{n+1} defined in Equation (1.1.1). Combining Proposition 4.17 with Proposition 4.13 we now obtain the following result.

Theorem 4.19.

Let α,β>0n+2\alpha,\beta\in\mathbbm{Z}_{>0}^{n+2} where |α|=d|\alpha|=\ell d for some >0\ell\in\mathbbm{Z}_{>0}. Then we have:

tβSresωα=j=11(1an+1jd)i=0n(1ξαid)i=0nΓ(αid)Γ(i=0nαid)ξαβ.\int_{t^{\beta}S}\operatorname{res}\omega_{\alpha}=-\prod_{j=1}^{\ell-1}\left(1-\frac{a_{n+1}}{jd}\right)\prod_{i=0}^{n}\left(\frac{1-\xi^{-\alpha_{i}}}{d}\right)\frac{\prod_{i=0}^{n}\Gamma(\frac{\alpha_{i}}{d})}{\Gamma(\sum_{i=0}^{n}\frac{\alpha_{i}}{d})}\xi^{\alpha\cdot\beta}.

4.4. Changing the type of the Fermat curve

For a sequence of non-zero complex numbers 𝔠:=(c0,,cn+1)\mathfrak{c}:=(c_{0},\dots,c_{n+1}) we may want to take our initial Fermat hypersurface to be cut out by:

f𝔠:=c0x0d++cn+1xn+1d.f_{\mathfrak{c}}:=c_{0}x_{0}^{d}+\dots+c_{n+1}x_{n+1}^{d}.

Then the integrals given in Theorem 4.19 change slightly, which we record here for convenience.

Our standard choice of Fermat hypersurface is f(1,,1,1)f_{(1,\dots,1,-1)} which we will continue to denote by fYf_{Y}. For i=0,,ni=0,\dots,n let μi\mu_{i}\in\mathbbm{C} be a dd-th root of cic_{i} and let μn+1\mu_{n+1}\in\mathbbm{C} be a dd-th root of cn+1-c_{n+1}. Defining φ:n+1n+1:[x0,,xn+1][μ01x0,,μn+11xn+1]\varphi:\mathbbm{P}^{n+1}\to\mathbbm{P}^{n+1}:[x_{0},\dots,x_{n+1}]\mapsto[\mu_{0}^{-1}x_{0},\dots,\mu_{n+1}^{-1}x_{n+1}], we get an isomorphism:

φ|Z(fY):Z(fY)Z(f𝔠).\varphi|_{Z(f_{Y})}:Z(f_{Y})\overset{\sim}{\to}Z(f_{\mathfrak{c}}).

We will use the basis of PHn(Z(f𝔠),)\mathrm{PH}_{n}(Z(f_{\mathfrak{c}}),\mathbbm{Z}) obtained as the image of the basis we just constructed for PHn(Y,)\mathrm{PH}_{n}(Y,\mathbbm{Z}) using Pham cycles.

Let us write ωα,𝔠\omega_{\alpha,\mathfrak{c}} for the rational form defined as in (4.3.15) but with the denominator f𝔠f_{\mathfrak{c}}^{\ell} instead of fYf_{Y}^{\ell}. Then the result of Theorem 4.19 need only be modified by scaling the integration via i=0n+1μiai\prod_{i=0}^{n+1}\mu_{i}^{-a_{i}}:

(4.4.16) φ(γ)resωα,𝔠=γresφωα,𝔠=(i=0n+1μiai)γresωα.\int_{\varphi(\gamma)}\operatorname{res}\omega_{\alpha,\mathfrak{c}}=\int_{\gamma}\operatorname{res}\varphi^{*}\omega_{\alpha,\mathfrak{c}}=\left(\prod_{i=0}^{n+1}\mu_{i}^{-a_{i}}\right)\int_{\gamma}\operatorname{res}\omega_{\alpha}.

4.5. From primitive to entire homology

When nn is odd, homology agrees with primitive homology. However, when nn is even we need to add an extra class to primitive homology to generate homology. For this section assume nn is even.

As demonstrated in Lemma 2.4 we may add the class of a linear space contained in YY. We picked LL introduced as the image of the map in Equation (1.5.6) for our implementation. However, the rest of this section is independent of which linear space is chosen.

Let us denote by [L][L] the homology class of LL. Furthermore, let us denote by γβ\gamma_{\beta} the homology class of tβSt^{\beta}S in PHn(Y,)\mathrm{PH}_{n}(Y,\mathbbm{Z}). Using Corollary 4.8, pick a subset Bn+2B\subset\mathbbm{Z}^{n+2} such that {γββB}\{\gamma_{\beta}\mid\beta\in B\} freely generates PHn(Y,)\mathrm{PH}_{n}(Y,\mathbbm{Z}).

As mentioned in Remark 2.5, with hh defined as in Notation 2.1, we may write [L]=1dh+γL[L]=\frac{1}{d}h+\gamma_{L} where γLPHn(Y,)\gamma_{L}\in\mathrm{PH}_{n}(Y,\mathbbm{Q}). Since the residues resωα\operatorname{res}\omega_{\alpha} are in the primitive cohomology, they annihilate the class hh. Therefore, we have the equality:

[L]resωα=γLresωα.\int_{[L]}\operatorname{res}\omega_{\alpha}=\int_{\gamma_{L}}\operatorname{res}\omega_{\alpha}.

In particular, the period of LL can be computed without taking any new integrals. We need only determine the expression of γL\gamma_{L} in terms of γβ\gamma_{\beta} for βB\beta\in B.

Write γL=βBaβγβ\gamma_{L}=\sum_{\beta\in B}a_{\beta}\gamma_{\beta} for aβa_{\beta}\in\mathbbm{Q} and let a=[aβ]βBa=[a_{\beta}]_{\beta\in B} be the row vector formed by these coefficients. Let b=[γLγβ]βBb=[\gamma_{L}\cdot\gamma_{\beta}]_{\beta\in B} be the row vector formed by intersecting LL with the basis elements, note that γLγβ=[L]γβ\gamma_{L}\cdot\gamma_{\beta}=[L]\cdot\gamma_{\beta} for all βB\beta\in B. Finally, let M=[γβγβ]β,βBM=[\gamma_{\beta}\cdot\gamma_{\beta^{\prime}}]_{\beta,\beta^{\prime}\in B} be the intersection matrix on primitive cohomology. Then, evidently, we have:

(4.5.17) a=bM1.a=b\cdot M^{-1}.

It remains to compute the various intersection products. For the intersection product on Pham cycles, see any one of [arnold-1984, movasati--hodge, looijenga-10]. The intersection product of Pham cycles with linear spaces are computed in [degtyarev-16].

Remark 4.20.

If we deform the Fermat hypersurface YY to another hypersurface XX and carry the basis of homology {γββB}{[L]}\{\gamma_{\beta}\mid\beta\in B\}\cup\{[L]\} during this deformation, then the linear relation computed in Equation (4.5.17) remains constant. Therefore, the periods of deformations of LL can be computed simply from the periods of deformations of γβ\gamma_{\beta}’s.

5. Examples

In this section we will demonstrate the performance of our algorithm and compare it with other algorithms in the cases of curves. We will also take this opportunity to show how complexity of the problem changes when the path of deformation is broken down into small, preferably monomial, steps (see also Section 3).

The implementation of our algorithm is called PeriodSuite and is available here555https://github.com/emresertoz/PeriodSuite. All running times refer to the CPU time on a laptop (MacBook Pro 2016, 2.6 GHz Intel Core i7).

Remark 5.1.

We recall here that for our target hypersurfaces we will only compute as many periods as necessary to determine the Hodge structure. We called these classical periods and explained the distinction in Section 3.3.

5.1. Comparing period matrices of curves

We will compare the period matrices we get from PeriodSuite against the ones we get from the periodmatrix function in the package algcurves [deconinck2011] of Maple.

Both algcurves and PeriodSuite use the same basis of differential forms, at least up to permutation. But we do not have control over the homology bases used to compute the period matrices. Thus, when we run either algorithm we find two approximate period matrices MM and NN which appear very different but for which we expect to have an invertible 2g×2g2g\times 2g integer matrix BB such that MB=NMB=N. A standard application of LLL allows us to find small integer matrices that approximately solve this system. If the entries in the matrix BB are very small compared to the precision available in M,NM,N; and if the matrix MBMB is very close to NN, we may be quite sure that the period matrices approximated by both programs are the same after a change of basis in homology by the matrix BB.

The function ChangeHomologyBasis in PeriodSuite implements the procedure outlined above. We use this implementation in the examples below where the computation of the change of homology basis BB is practically instant.

Remark 5.2.

We compare our algorithm against algcurves [deconinck2011] because, at the time of writing, we were not aware of RiemannSurfaces [nils-18] and abelfunctions [christopher16] did not work in SageMath 8.1. Unfortunately, as numerical integration is slow in Maple, algcurves is the slowest of the three giving us an unfair advantage. Nevertheless, we feel the comparison serves well to illustrate the weaknesses and strengths of our algorithm.

5.2. Elliptic curves

We will begin with smooth plane cubics so that we may display the Picard–Fuchs equations we get. For higher genera, they will be too big to print. The distinction between a straight deformation path and a deformation path broken into monomial steps is well illustrated by the display size of the corresponding ODEs.

Random sparse cubic

Let f1=5x32xz2+y3+7yz2f_{1}=-5x^{3}-2xz^{2}+y^{3}+7yz^{2}, which defines an elliptic curve with jj-invariant

10536960323761.-\frac{10536960}{323761}.

We deform periods from the Fermat curve f0=5x3+y3+z3f_{0}=-5x^{3}+y^{3}+z^{3}. If we deform f0f_{0} to f1f_{1} directly, we need to integrate the following Picard–Fuchs equation:

D2+3t85154331323761t7+748100255180176t6+721635647522t545102455180176t4+75510323761t320255180176t2+2025647522t60755180176t92564243647522t8+143019935180176t7+308115647522t620169755180176t5+33705323761t4+708755180176t32025323761t2+60755180176tD+34t7129245952590088t6+266787995180176t5+10344755180176t490795647522t3+806852590088t260755180176t+20255180176t92564243647522t8+143019935180176t7+308115647522t620169755180176t5+33705323761t4+708755180176t32025323761t2+60755180176t,D^{2}+\frac{3t^{8}-\frac{5154331}{323761}t^{7}+\frac{74810025}{5180176}t^{6}+\frac{721635}{647522}t^{5}-\frac{4510245}{5180176}t^{4}+\frac{75510}{323761}t^{3}-\frac{2025}{5180176}t^{2}+\frac{2025}{647522}t-\frac{6075}{5180176}}{t^{9}-\frac{2564243}{647522}t^{8}+\frac{14301993}{5180176}t^{7}+\frac{308115}{647522}t^{6}-\frac{2016975}{5180176}t^{5}+\frac{33705}{323761}t^{4}+\frac{70875}{5180176}t^{3}-\frac{2025}{323761}t^{2}+\frac{6075}{5180176}t}D+\\ \frac{\frac{3}{4}t^{7}-\frac{12924595}{2590088}t^{6}+\frac{26678799}{5180176}t^{5}+\frac{1034475}{5180176}t^{4}-\frac{90795}{647522}t^{3}+\frac{80685}{2590088}t^{2}-\frac{6075}{5180176}t+\frac{2025}{5180176}}{t^{9}-\frac{2564243}{647522}t^{8}+\frac{14301993}{5180176}t^{7}+\frac{308115}{647522}t^{6}-\frac{2016975}{5180176}t^{5}+\frac{33705}{323761}t^{4}+\frac{70875}{5180176}t^{3}-\frac{2025}{323761}t^{2}+\frac{6075}{5180176}t},

which takes 0.01 seconds to find using our PeriodSuite and 0.4 seconds to integrate with oa--analytic to 20 digits. The resulting period vector M1M_{1} is given below, truncated to 10 digits:

M1[0.25475404320.48909035591,0.2547540432+0.48909035591].M_{1}\sim[0.2547540432-0.4890903559\sqrt{-1},0.2547540432+0.4890903559\sqrt{-1}].

The jj-invariant of this period vector agrees to 1616 digits with the exact jj-invariant of the curve.

Alternatively, we can define the following sequence of curves:

g0\displaystyle g_{0} =5x3+y3+z3\displaystyle=-5x^{3}+y^{3}+z^{3}
g1\displaystyle g_{1} =5x32xz2+y3+z3\displaystyle=-5x^{3}-2xz^{2}+y^{3}+z^{3}
g2\displaystyle g_{2} =5x32xz2+y3\displaystyle=-5x^{3}-2xz^{2}+y^{3}
g3\displaystyle g_{3} =5x32xz2+y3+7yz2.\displaystyle=-5x^{3}-2xz^{2}+y^{3}+7yz^{2}.

which changes only one monomial at a time. Let us write Gi=(1t)gi1+tgiG_{i}=(1-t)g_{i-1}+tg_{i} for i=1,2,3i=1,2,3. In general, breaking the path like this results in a significant improvement in speed. In this case, there is not much room for improvement but the ODEs are noticeably simpler. Let us recall from Section 3.3 that we need to compute the entire period matrix for each of the intermediate curves, but not for the last curve. Therefore, there are two ODEs to integrate for each of G1G_{1} and G2G_{2} but we need only integrate one for G3G_{3}:

G1:G_{1}: D+16t232t3+135D+\frac{16t^{2}}{32t^{3}+135} D2+112t327032t4+135tDD^{2}+\frac{112t^{3}-270}{32t^{4}+135t}D
G2:G_{2}: D+45t45135t2270t+167D+\frac{45t-45}{135t^{2}-270t+167} D2+360t2720t+328135t3405t2+437t167DD^{2}+\frac{360t^{2}-720t+328}{135t^{3}-405t^{2}+437t-167}D
G3:G_{3}: D2+5145t21715t38D+5145t6860t332D^{2}+\frac{5145t^{2}}{1715t^{3}-8}D+\frac{5145t}{6860t^{3}-32}

.

It takes a second in total to compute these five ODEs and to integrate them. This is slower than the first approach by half a second, due to general overhead, but it is clear from the nature of the ODEs that the second approach will be favorable for more complicated examples. The result of the integration gives a 20 digit period vector M2M_{2}, which is given below truncated to 10 digits:

M2[0.2547540432+0.48909035591,0.2547540432+0.48909035591].M_{2}\sim[0.2547540432+0.4890903559\sqrt{-1},-0.2547540432+0.4890903559\sqrt{-1}].

Note that M2M_{2} is slightly different from M1M_{1} due to monodromy. Finally, algcurves takes a little over 3 seconds to compute M3M_{3} to 20 digits, which is given below truncated to 10 digits:

M3[0.5095080865,0.25475404320.48909035591].M_{3}\sim[-0.5095080865,-0.2547540432-0.4890903559\sqrt{-1}].

Using ChangeHomologyBasis we find matrices B12B_{12} and B13B_{13} such that M1M2B12M_{1}\sim M_{2}B_{12} and M1M3B13M_{1}\sim M_{3}B_{13} with error less than 101810^{-18}, where:

B12=[0111]B13=[1011].B_{12}=\begin{bmatrix}0&1\\ -1&-1\end{bmatrix}\qquad B_{13}=\begin{bmatrix}-1&0\\ 1&-1\end{bmatrix}.

Random cubic curve

We state the computation times for a randomly generated cubic:

f1:=4x3+5x2y+4x2z7xy2+4xyz+7xz28y34yz2+3z3.f_{1}:=4x^{3}+5x^{2}y+4x^{2}z-7xy^{2}+4xyz+7xz^{2}-8y^{3}-4yz^{2}+3z^{3}.

We take f0=4x38y3+3z3f_{0}=4x^{3}-8y^{3}+3z^{3} as the initial point of our deformation and compute the periods to 20 digits of precision. The straight path from f0f_{0} to f1f_{1} took 0.15 seconds for the computation of the ODEs and 2.45 seconds for the integration. Deforming one monomial at a time took 0.70 seconds for the ODEs and 5 seconds for the integration. It takes algcurves 6 seconds to compute the periods. In all cases, we get period vectors that are equivalent by inspection and the jj-invariants agree with the jj-invariant of the curve.

5.3. Plane quartic curves

The ODEs we get from quartic curves are far more difficult then the ones we get from cubic curves and, in particular, they cannot be displayed here. One can, however, roughly measure the complexity of an ODE using two integers: its order and degree.

Definition 5.3.

Let 𝒟[t][t]\mathcal{D}\in\mathbbm{Q}[t][\partial_{t}] be an ODE with relatively prime coefficients. The order of 𝒟\mathcal{D} is the highest power of the differentiation operator t\partial_{t} appearing in 𝒟\mathcal{D}. The degree of 𝒟\mathcal{D} is the highest degree of all the polynomials appearing as coefficients of 𝒟\mathcal{D}. For 𝒟(t)[t]\mathcal{D}\in\mathbbm{Q}(t)[\partial_{t}], an ODE with rational function coefficients, define its order and degree by reducing to the previous case through the clearing of denominators and common factors.

In practice, the complexity of the Picard–Fuchs equations we encounter, that is, the time it takes to construct as well as to integrate them appear to be reflected well by their order and degree.

Favorable quartic

Consider the following randomly generated sparse quartic:

f1=4x4+5xz3+5y4y3z6z4.f_{1}=4x^{4}+5xz^{3}+5y^{4}-y^{3}z-6z^{4}.

We pick the Fermat curve f0=4x4+5y46z4f_{0}=4x^{4}+5y^{4}-6z^{4} as our initial curve. We begin with the straight path from f0f_{0} to f1f_{1}. The three ODEs for this deformation are computed in 1.58 seconds. The three order and degree pairs are displayed below:

(6,85)(6,79)(6,84).\begin{array}[]{ccc}(6,85)&(6,79)&(6,84).\end{array}

The system is integrated in 50 seconds with end result having 30 digits of precision.

Let us now demonstrate how deforming one monomial at a time fares in comparison. We take the following two step deformation:

g0\displaystyle g_{0} =4x4+5y46z4\displaystyle=4x^{4}+5y^{4}-6z^{4}
g1\displaystyle g_{1} =4x4+5xz3+5y46z4\displaystyle=4x^{4}+5xz^{3}+5y^{4}-6z^{4}
g2\displaystyle g_{2} =4x4+5xz3+5y4y3z6z4.\displaystyle=4x^{4}+5xz^{3}+5y^{4}-y^{3}z-6z^{4}.

As explained in Section 3.3, we have to solve for 6 ODEs for the first family and 3 for the second one. It takes 0.40 seconds to compute these 9 ODEs, as each one of them is simpler than the three ODEs we got previously. With Gi=(1t)gi1+tgiG_{i}=(1-t)g_{i-1}+tg_{i} denoting the ii-th family, we list the order-degree pairs of the corresponding sets of ODEs:

G1:(2,5)(2,4)(2,5)(3,5)(2,5)(3,6)G2:(6,40)(6,39)(6,39).\begin{array}[]{lcccccc}G_{1}:&(2,5)&(2,4)&(2,5)&(3,5)&(2,5)&(3,6)\\ G_{2}:&(6,40)&(6,39)&(6,39)&&&\phantom{(3,6)}.\end{array}

We can integrate the entire system in 2.46 seconds with 30 digits of precision. For the sake of space, we will round the result to 4 decimal places:

[0.13880.133610.1343+0.138410.1433+0.138410.1388+0.133610.13880.143210.13880.143210.12850.146710.1168+0.137910.1345+0.137910.12560.126310.12850.129110.1256+0.143010.02850.204710.2052+0.028210.1481+0.028210.0286+0.204810.0285+0.148210.0286+0.14811] .\mbox{\scriptsize$\left[\begin{smallmatrix}0.1388-0.1336\sqrt{-1}&0.1343+0.1384\sqrt{-1}&-0.1433+0.1384\sqrt{-1}&-0.1388+0.1336\sqrt{-1}&-0.1388-0.1432\sqrt{-1}&0.1388-0.1432\sqrt{-1}\\ 0.1285-0.1467\sqrt{-1}&-0.1168+0.1379\sqrt{-1}&0.1345+0.1379\sqrt{-1}&0.1256-0.1263\sqrt{-1}&-0.1285-0.1291\sqrt{-1}&-0.1256+0.1430\sqrt{-1}\\ 0.0285-0.2047\sqrt{-1}&0.2052+0.0282\sqrt{-1}&0.1481+0.0282\sqrt{-1}&-0.0286+0.2048\sqrt{-1}&-0.0285+0.1482\sqrt{-1}&0.0286+0.1481\sqrt{-1}\end{smallmatrix}\right]$ }.

The algcurves package cannot handle this curve by default and crashes after an hour of computation. However, if asked to project on to the yy-axis, instead of the default xx-axis, it can compute the period matrix in 30 seconds with 30 digits of precision. After permuting the rows so that their choice of holomorphic forms matches ours, and after rounding to 4 decimal places, we get:

[0.1343+0.138410.00900.26860.6806+0.138410.13880.1432100.1168+0.137910.01770.23360.0934+0.137910.1256+0.143910.25410.272910.2052+0.028310.35330.41040.6726+0.028310.0286+0.148110] .\mbox{\scriptsize$\left[\begin{smallmatrix}-0.1343+0.1384\sqrt{-1}&-0.0090&0.2686&-0.6806+0.1384\sqrt{-1}&-0.1388-0.1432\sqrt{-1}&0\\ 0.1168+0.1379\sqrt{-1}&0.0177&-0.2336&0.0934+0.1379\sqrt{-1}&0.1256+0.1439\sqrt{-1}&-0.2541-0.2729\sqrt{-1}\\ -0.2052+0.0283\sqrt{-1}&0.3533&0.4104&-0.6726+0.0283\sqrt{-1}&-0.0286+0.1481\sqrt{-1}&0\end{smallmatrix}\right]$ }.

Applying ChangeHomologyBasis we find that the change of basis matrix for homology is:

B=[211300001101110101000100100111100210].B=\begin{bmatrix}-2&1&1&3&0&0\\ 0&0&1&1&0&-1\\ -1&1&0&-1&0&1\\ 0&0&0&-1&0&0\\ -1&0&0&1&1&1\\ -1&0&0&2&1&0\end{bmatrix}.

After applying this matrix, the greatest discrepancy between the period matrices is less than 101810^{-18}.

Remark 5.4.

To summarize, PeriodSuite takes 3 seconds with a monomial path (it takes 52 seconds with a direct path). On the other hand, algcurves takes 30 seconds. All computations are done to get 30 digits of final precision. The existence of a small homology change of basis matrix provides overwhelming evidence that the two period matrices agree.

Time versus precision

Let us now compare the time it takes for PeriodSuite against algcurves when we demand higher and higher precision. Figure 1 plots the time it takes to compute the periods of the “Favorable quartic” against requested precision. The blue small dots represent algcurves and the red big dots represent PeriodSuite. As briefly explained in the introduction, we numerically integrate ODEs which is an operation where time requirement increases linearly with number of digits of precision. On the other hand, algcurves numerically computes Riemann integrals, for which cost of computation increases at least quadratically with number of digits of precision [bailey11].

Refer to caption
Figure 1. Time vs. precision plot for Favorable quartic

Unfavorable quartic

For our algorithm, the time it takes to compute the periods of a curve varies wildly depending on the curve. As a rough measure, the number of monomials that need to be changed from a curve of Fermat type indicates the difficulty of computation. We now look at a random quartic that is much less favorable from this point of view:

f1=7x3y+5xy3+7xyz24yz3+z4.f_{1}=-7x^{3}y+5xy^{3}+7xyz^{2}-4yz^{3}+z^{4}.

A straight path from f0=x4+y4+z4f_{0}=x^{4}+y^{4}+z^{4} is a bad idea. It takes 107 seconds to compute the three Picard–Fuchs equations alone and the resulting equations are of order six and have coefficients of degree 126. We record the three order-degree pairs below for later comparison:

(6,126)(6,126)(6,120).\begin{array}[]{ccc}(6,126)&(6,126)&(6,120).\end{array}

Collectively, these differential equations have 360 singularities and the ones near zero are pictured in Figure 2. Note that a generically smooth pencil of quadrics can have at most 27 singular fibers. This means, in light of Proposition 2.25, that the rest of the 303 singularities are apparent singularities, that is, solutions converge near these points and they do not inhibit computations. Nevertheless, numerical integration took 27 minutes with 100 digits of precision. High precision was required here for successful integration of this complex system.

Refer to caption
Figure 2. Unfavorable quartic: singularities of the ODEs for the straight path

Let us now break the path of deformation and take the following six steps:

g0\displaystyle g_{0} =x4+y4+z4,\displaystyle=x^{4}+y^{4}+z^{4}, g4\displaystyle g_{4} =x47x3y+5xy34yz3+z4,\displaystyle=x^{4}-7x^{3}y+5xy^{3}-4yz^{3}+z^{4},
g1\displaystyle g_{1} =x4+5xy3+y4+z4,\displaystyle=x^{4}+5xy^{3}+y^{4}+z^{4}, g5\displaystyle g_{5} =7x3y+5xy34yz3+z4,\displaystyle=-7x^{3}y+5xy^{3}-4yz^{3}+z^{4},
g2\displaystyle g_{2} =x4+5xy3+z4,\displaystyle=x^{4}+5xy^{3}+z^{4}, g6\displaystyle g_{6} =7x3y+5xy3+7xyz24yz3+z4.\displaystyle=-7x^{3}y+5xy^{3}+7xyz^{2}-4yz^{3}+z^{4}.
g3\displaystyle g_{3} =x4+5xy34yz3+z4,\displaystyle=x^{4}+5xy^{3}-4yz^{3}+z^{4},

As before, each deformation is given by Gi=(1t)gi1+tgiG_{i}=(1-t)g_{i-1}+tg_{i} where i=1,,6i=1,\dots,6. Recall that the first five families require the computation of six ODEs each and the last one requires only three. These 33 ODEs are determined in 42 seconds, already beating the straight path. Furthermore, these ODEs behave far better than the previous three. We list the order-degree pairs for these ODEs below:

G1:(2,5)(2,4)(2,5)(3,6)(2,5)(3,5)G2:(2,3)(2,4)(2,3)(3,5)(3,4)(2,4)G3:(6,17)(6,17)(6,16)(7,18)(7,17)(7,18)G4:(6,36)(6,39)(6,35)(7,41)(7,47)(7,43)G5:(6,20)(6,22)(6,19)(7,22)(7,24)(7,21)G6:(6,29)(6,28)(6,26)\begin{array}[]{ lcccccc }G_{1}:&(2,5)&(2,4)&(2,5)&(3,6)&(2,5)&(3,5)\\ G_{2}:&(2,3)&(2,4)&(2,3)&(3,5)&(3,4)&(2,4)\\ G_{3}:&(6,17)&(6,17)&(6,16)&(7,18)&(7,17)&(7,18)\\ G_{4}:&(6,36)&(6,39)&(6,35)&(7,41)&(7,47)&(7,43)\\ G_{5}:&(6,20)&(6,22)&(6,19)&(7,22)&(7,24)&(7,21)\\ G_{6}:&(6,29)&(6,28)&(6,26)&&&\end{array}

The singularities of these six systems of ODEs are displayed in Figure 3. Most of the singularities are once again apparent. The integration of the entire system takes less than 3 minutes with 30 digits of precision.

On the other hand, algcurves does not find this curve any more difficult than the previous one. It can compute the periods to 30 digits in 29 seconds. It may be that our methods are not optimal for curves, especially if low precision period matrices are sufficient.

Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Figure 3. Unfavorable quartic: singularities of the ODEs for a monomial path

5.4. Higher genus curves

A curve of genus 6

We generated a random sparse degree 5 curve with small coefficients, getting

10x5+3xy3z2xz42y4z.-10x^{5}+3xy^{3}z-2xz^{4}-2y^{4}z.

A straight deformation from a Fermat curves appears hopeless. After some experimentation we found that the following path of deformation works well:

g0\displaystyle g_{0} =10x5+y5+z5,\displaystyle=0x^{5}+y^{5}+z^{5}, g3\displaystyle g_{3} =10x52xz42y4z+z5,\displaystyle=0x^{5}-2xz^{4}-2y^{4}z+z^{5},
g1\displaystyle g_{1} =10x5+y52y4z+z5,\displaystyle=0x^{5}+y^{5}-2y^{4}z+z^{5}, g4\displaystyle g_{4} =10x52xz42y4z,\displaystyle=0x^{5}-2xz^{4}-2y^{4}z,
g2\displaystyle g_{2} =10x52y4z+z5,\displaystyle=0x^{5}-2y^{4}z+z^{5}, g5\displaystyle g_{5} =10x5+3xy3z2xz42y4z.\displaystyle=0x^{5}+3xy^{3}z-2xz^{4}-2y^{4}z.

The Picard–Fuchs equations take 14 seconds to find and 73 seconds to integrate to 30 digits of accuracy. Here algcurves takes 64 seconds to compute the period matrix for 30 digits of accuracy.

A curve of genus 105

As the periods of Fermat curves are readily available, the periods of any curve obtained from a “small” deformation of a Fermat type curve will be relatively easy to compute. Here, a small deformation means that the defining equation should differ only by a monomial or two from being a sum of powers, axd+byd+czdax^{d}+by^{d}+cz^{d}. To illustrate this principle, let us compute the periods of the following genus 105 curve:

f1=x16+y16+z16+x5y5z6.f_{1}=x^{16}+y^{16}+z^{16}+x^{5}y^{5}z^{6}.

Choosing f0=x16+y16+z16f_{0}=x^{16}+y^{16}+z^{16} we compute the Picard–Fuchs equations of the family (1t)f0+tf1(1-t)f_{0}+tf_{1} in 528 seconds. The orders of the 105 ODEs are either 12 or 14, while their degrees are less than 30. It takes another 317 seconds to integrate these equations with a final precision 102510^{-25}. In this case, algcurves and abelfunctions crash after a couple of minutes. With the newest patches, RiemannSurface computes these integrals in just under 2 hours.

Needless to say, the 105×210105\times 210 period matrix is too big to display in print. However, since the total computation time is only 15 minutes, the interested reader can easily reproduce the results.

A curve of genus 1711

Now consider the genus 1711 curve f1:=x60+y60+z60+x20y20z20f_{1}:=x^{60}+y^{60}+z^{60}+x^{20}y^{20}z^{20} with f0=x60+y60+z60f_{0}=x^{60}+y^{60}+z^{60}. Performed in isolation, it takes 8.5 seconds to compute all of 1711 Picard–Fuchs equations and 50 seconds to integrate them to 30 digits of precision. However, the period matrix has about six million entries which makes the storage and manipulation of this matrix a bottle neck. With our current implementation it takes over 2 hours for the computation to end.

5.5. Periods of surfaces

We will now compute the classical periods for a few surfaces. In a future paper we will compute the period vectors for many more surfaces and determine their Picard rank and classify their transcendental lattices. Here, we will simply discuss issues regarding performance.

A simple quartic K3

We take a random sparse quartic f1=3x4+9xw38y3z4z4+w4f_{1}=-3x^{4}+9xw^{3}-8y^{3}z-4z^{4}+w^{4} which is simple for us as it close to the Fermat quartic f0=3x4+y44z4+w4f_{0}=-3x^{4}+y^{4}-4z^{4}+w^{4}. Indeed, even the straight path from f0f_{0} to f1f_{1} gives a Picard–Fuchs equation of order 4 and degree 36, which takes 0.160 seconds to find and takes 5.985 seconds to integrate. The final result is precise to 20 decimal places. After truncating to 4 decimal places and denoting 1\sqrt{-1} by ii we have:

[0.0128+0.4610i,0.4056+0.2194i,0.4056+0.2194i,0.40560.2194i,0.01280.4610i,0.01280.4610i,0.01280.4610i,0.01280.4610i,0.01280.4610i,0.01280.4610i,0.40560.2194i,0.4056+0.2194i,0.40560.2194i,0.4056+0.2194i,0.40560.2194i,0.4056+0.2194i,0.40560.2194i,0.0128+0.4610i,0.0128+0.4610i,0.0128+0.4610i,0.0128+0.4610i].\big{[}-0.0128+0.4610i,-0.4056+0.2194i,-0.4056+0.2194i,-0.4056-0.2194i,0.0128-0.4610i,0.0128-0.4610i,\\ -0.0128-0.4610i,0.0128-0.4610i,-0.0128-0.4610i,0.0128-0.4610i,0.4056-0.2194i,0.4056+0.2194i,\\ 0.4056-0.2194i,0.4056+0.2194i,0.4056-0.2194i,0.4056+0.2194i,0.4056-0.2194i,-0.0128+0.4610i,\\ 0.0128+0.4610i,-0.0128+0.4610i,0.0128+0.4610i\big{]}.

A fortunate monomial path

This example illustrates how drastic it can be to find a good monomial path. Take the quartic:

f1=x4+2xy3+2xw3+10z3w+3w4,f_{1}=-x^{4}+2xy^{3}+2xw^{3}+10z^{3}w+3w^{4},

and let f0=x4+y4+z4+3w4f_{0}=-x^{4}+y^{4}+z^{4}+3w^{4}. Then the computation of the Picard–Fuchs equation for the straight path from f0f_{0} to f1f_{1} could not be found after 53 hours of computation.

On the other hand, consider the following monomial path:

g0\displaystyle g_{0} =x4+y4+z4+3w4,\displaystyle=-x^{4}+y^{4}+z^{4}+3w^{4}, g3\displaystyle g_{3} =x4+2xy3+z4+10z3w+3w4,\displaystyle=-x^{4}+2xy^{3}+z^{4}+0z^{3}w+3w^{4},
g1\displaystyle g_{1} =x4+2xy3+y4+z4+3w4,\displaystyle=-x^{4}+2xy^{3}+y^{4}+z^{4}+3w^{4}, g4\displaystyle g_{4} =x4+2xy3+10z3w+3w4,\displaystyle=-x^{4}+2xy^{3}+0z^{3}w+3w^{4},
g2\displaystyle g_{2} =x4+2xy3+z4+3w4,\displaystyle=-x^{4}+2xy^{3}+z^{4}+3w^{4}, g5\displaystyle g_{5} =x4+2xy3+2xw3+10z3w+3w4.\displaystyle=-x^{4}+2xy^{3}+2xw^{3}+0z^{3}w+3w^{4}.

It takes 0.670 seconds to determine all of the 1+4×21=851+4\times 21=85 ODEs we need. It takes 17 seconds to integrate these ODEs with precision 102010^{-20}, or 59 seconds with precision 1010010^{-100}. The order-degree pairs of this system are as follows:

G1:(2,5)(3,6)(2,5)(2,5)(3,6)(3,6)(3,6)(3,5)(3,5)(3,5)(3,5)(3,5)(2,5)(2,5)(3,4)(3,4)(3,4)(2,4)(2,4)(2,5)(3,6)G2:(2,3)(3,5)(3,4)(3,4)(2,4)(2,4)(3,3)(3,3)(3,3)(3,3)(3,3)(3,3)(2,3)(2,3)(3,3)(3,3)(3,3)(2,4)(2,4)(2,3)(3,5)G3:(2,5)(3,6)(3,5)(3,6)(2,4)(2,5)(3,4)(3,5)(3,6)(3,4)(3,5)(3,6)(3,5)(2,5)(3,4)(3,5)(3,6)(3,5)(2,5)(3,6)(3,6)G4:(2,3)(3,4)(3,5)(3,4)(2,4)(2,3)(3,3)(3,3)(3,3)(3,3)(3,3)(3,3)(3,4)(2,4)(3,3)(3,3)(3,3)(3,4)(2,4)(3,5)(3,5)G5:(4,4)\begin{array}[]{lccccccccccccccccccccc}G_{1}\colon&(2,5)&(3,6)&(2,5)&(2,5)&(3,6)&(3,6)&(3,6)&(3,5)&(3,5)&(3,5)&(3,5)&(3,5)&(2,5)&(2,5)&(3,4)&(3,4)&(3,4)&(2,4)&(2,4)&(2,5)&(3,6)\\ G_{2}\colon&(2,3)&(3,5)&(3,4)&(3,4)&(2,4)&(2,4)&(3,3)&(3,3)&(3,3)&(3,3)&(3,3)&(3,3)&(2,3)&(2,3)&(3,3)&(3,3)&(3,3)&(2,4)&(2,4)&(2,3)&(3,5)\\ G_{3}\colon&(2,5)&(3,6)&(3,5)&(3,6)&(2,4)&(2,5)&(3,4)&(3,5)&(3,6)&(3,4)&(3,5)&(3,6)&(3,5)&(2,5)&(3,4)&(3,5)&(3,6)&(3,5)&(2,5)&(3,6)&(3,6)\\ G_{4}\colon&(2,3)&(3,4)&(3,5)&(3,4)&(2,4)&(2,3)&(3,3)&(3,3)&(3,3)&(3,3)&(3,3)&(3,3)&(3,4)&(2,4)&(3,3)&(3,3)&(3,3)&(3,4)&(2,4)&(3,5)&(3,5)\\ G_{5}\colon&(4,4)&&&&&&&&&&&&&&&&&&&&\end{array}

A harder quartic

The quartic surface defined by f1=9x3z+4y3w+3z4+8z2w2+2w4f_{1}=9x^{3}z+4y^{3}w+3z^{4}+8z^{2}w^{2}+2w^{4} appears to be harder: it takes 3.4 seconds for the Picard–Fuchs equations to be computed and 101 seconds to integrate them to 33 digits of accuracy.

A quintic surface

We took a randomly generated quintic surface f1=6x4z+3y4w9y3z2+3z5w5f_{1}=6x^{4}z+3y^{4}w-9y^{3}z^{2}+3z^{5}-w^{5}. It took 74 seconds to determine the Picard–Fuchs equations and 7.5 minutes to integrate these equations to determine the period matrix to 24 digits of accuracy.

5.6. A cubic threefold

Degree three hypersurfaces are typically favorable for our algorithm, since the Griffiths–Dwork reductions are easy to perform. Indeed, the periods of a sparse cubic are almost always quickly computed even if the defining polynomial of the cubic is very different from a Fermat type polynomial.

However, for our demonstration we choose a relatively simple cubic threefold so that the computation of its Picard–Fuchs equations are fast and we can concentrate on the time cost of increasing precision. Even though the Picard–Fuchs equations are found quickly, they are not particularly easy to integrate because the singular fibers are not favorably positioned.

Letting f1=8x2w8y3+z39zs2+w3f_{1}=-8x^{2}w-8y^{3}+z^{3}-9zs^{2}+w^{3} we find the following sequence of hypersurfaces where only one monomial is changed at each step:

g0\displaystyle g_{0} =x38y3+z3+w3+s3,\displaystyle=x^{3}-8y^{3}+z^{3}+w^{3}+s^{3}, g3\displaystyle g_{3} =x38x2w8y3+z39zs2+w3,\displaystyle=x^{3}-8x^{2}w-8y^{3}+z^{3}-9zs^{2}+w^{3},
g1\displaystyle g_{1} =x38y3+z39zs2+w3+s3,\displaystyle=x^{3}-8y^{3}+z^{3}-9zs^{2}+w^{3}+s^{3}, g4\displaystyle g_{4} =8x2w8y3+z39zs2+w3.\displaystyle=-8x^{2}w-8y^{3}+z^{3}-9zs^{2}+w^{3}.
g2\displaystyle g_{2} =x38y3+z39zs2+w3,\displaystyle=x^{3}-8y^{3}+z^{3}-9zs^{2}+w^{3},

The Picard–Fuchs equations are computed in 0.230 seconds and it takes 6 seconds to integrate the system with 20 digits of precision, or 620 seconds with 1000 digits of precision. The time versus precision graph is plotted in Figure 4. Of course, the integrator oa-analytic [mezzarobba-oa] does all the heavy lifting here.

Refer to caption
Figure 4. Time vs. precision plot for a cubic threefold