Computing periods of hypersurfaces
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, algorithms2010 Mathematics Subject Classification:
32G20, 14C30, 68W30, 14D07, 14K201. Introduction
Let 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 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 and, when taken together with the intersection product on cohomology, periods often determine up to isomorphism. Indeed, there are properties which are much easier to discern from the periods of than from the defining equation of . The computation of periods has been forbidding and there appears to have been no general purpose algorithm to compute periods when the dimension of 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 . 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 , 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 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 in , and whose output is the corresponding point in the period domain .
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 at the end of Section 5.4.
1.1. Periods as rational integrals
Let be an -dimensional smooth hypersurface given as the zero locus of an irreducible homogenous polynomial . The periods of 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 with coordinates the standard holomorphic volume form is . On the projective space with homogeneous coordinates one defines the standard volume form to be
(1.1.1) |
where hat denotes the omission of that factor. Restricting to the standard affine charts, we see that the form is locally the standard volume form (up to sign):
Notation 1.1.
For any real -dimensional cycle we may construct a thin tube around lying entirely in the complement of (see [griffiths--periods, §3]).
Definition 1.2.
For any integer and any polynomial of degree the following integral is called a period of :
where is a real -cycle.
Notice that the integrand is homogeneous of degree 0 with poles over . Since the tube lies in the complement of , the integrals are well defined and independent of the exact construction of the tube .
Remark 1.3.
Informally, we can view as a circle bundle and then see this integral as computing the residue of the form at each point by taking a contour integral around the circle . See Section 4.2 where this method is employed.
Taken in isolation, a single period does not reveal much of the structure of . Instead, we need the integrals over all -cycles. As the homology groups of a smooth hypersurface are freely generated, we now choose -cycles whose classes generate the middle homology of .
Remark 1.4.
If is a curve then here is simply twice the genus of . If is a degree four surface then and if is a cubic threefold then . We recall the general formula in Remark 4.5.
Definition 1.5.
For any integer and any homogeneous polynomial of degree , the following complex valued vector is called a period vector of :
where is freely generated by the -cycles .
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) |
such that every other form is a linear combination of modulo exact forms. In symbols, there are for which there is an equivalence modulo exact forms
The procedure by which one such basis can be obtained, and the coefficients determined, is called the Griffiths–Dwork reduction [griffiths--periods, dwork-62, lairez--periods].
Remark 1.6.
In fact, when is odd and when is even. This is because we are, in fact, computing a basis for the primitive cohomology which coincides with cohomology when is odd or has one fewer generator when is even (see Section 2.1).
Definition 1.7.
Let be a basis for the middle homology and a basis for the rational forms with poles along , modulo exact forms, as in (1.1.2). Then the following matrix is called a period matrix of :
Remark 1.8.
A remarkable observation of Griffiths [griffiths--periods] is that the pole order 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 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 of a smooth hypersurface , compute a period matrix as defined in Definition 1.7 and the intersection matrix .
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 are obtained by projecting to a coordinate axes , which realizes as a finite cover of , so that standard tools from topological covering theory may be used to compute the fundamental group and therefore the middle homology [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 -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 of degree with respect to a basis for the middle homology of . We will compute the periods of from those of by what one might call a period homotopy. That is, we will compute the periods of from those of by deforming into 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 varying algebraically with respect to a single complex parameter such that and . For instance, one could take to be the defining equation of . Except for finitely many values of in , the hypersurface is smooth.
Using Ehresmann’s fibration theorem we may identify the topological spaces underlying the hypersurfaces along a path in the complex plane. We will choose this path so that it starts from and ends at while avoiding singular values of . In particular, such an identification gives an isomorphism between the homology groups and for each 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 the homology class corresponding to via this isomorphism. In particular, the cycle classes for form a basis for the homology of .
Remark 1.11.
The intersection product stays constant during deformation, so that we only need compute this intersection product on .
Remark 1.12.
The approach here of constructing 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 . Nevertheless, if effective representations for the cycles 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 .
Remark 1.13.
The basis 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 be of degree for . We will now describe how to compute the period vector:
Define the following rational form varying with and having poles along :
(1.3.3) |
We can now define the following period function:
(1.3.4) |
We will compute the value of interest, , by finding an ODE satisfied by and then determining the initial conditions . From these, 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 -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 is found. Denote the differentiation by operator with . The standard observation here is that we can differentiate under the integral sign:
Indeed, if is very close to then and can be represented by cycles that are very close to one another. Then the tube encloses and is homotopic to the tube . Therefore, the domain of integration can be fixed while differentiating .
In particular, suppose is a differential operator such that
(1.4.5) |
where is defined as in Equation (1.3.3) and equivalence is taken modulo exact forms. Then, the operator annihilates the period function .
The construction of an operator satisfying (1.4.5) is equivalent to finding a -linear relation between the Griffiths–Dwork reductions of the derivatives , where the reduction is performed over the field . Since these reduced forms must lie in a finite dimensional vector space, after finitely many differentiations and reductions we will find a -linearly dependent set. The coefficients of the linear relation give . 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 , we work over an effective subfield of , 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 for each for which we can compute the periods. Fixing and , let us denote by the Fermat hypersurface cut out by the equation .
The Fermat hypersurface has symmetries which we will exploit. In particular, the following automorphisms will be needed.
Definition 1.16.
Let be a -th root of unity. For each we define a translation on defined by scaling each of the coordinates by powers of as follows:
Notation 1.17.
In there is an -cycle , homeomorphic to a sphere, called the Pham cycle whose translates generate the relevant part of the homology (see Section 4.1).
When is odd, the set of translates of generates the homology . In fact, we can find a finite subset such that the set freely generates the homology. The determination of this subset relies on Corollary 4.8.
When is even, the Pham cycle and its translates do not generate the homology and we need one other cycle. Let be the image of the following linear map:
(1.5.6) | ||||
where is a -th root of . The translates of together with generate the middle homology of , see Lemma 2.4. Once again, using Corollary 4.8, a finite subset can be found algorithmically so that freely generates .
However, for period computations, this extra class is redundant. The periods over will determine the periods over 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 denote the Euler gamma function.
Theorem (Theorem 4.19).
Let be the degree Fermat hypersurface given by the equation . Let where for some and let . Then we have:
where denotes the dot product .
Remark 1.19.
The left hand side appears symmetric with respect to the exponents , whereas the last exponent plays a very distinctive role on the right hand side. This is because the Pham cycle breaks the symmetry as its construction is performed on the affine chart .
Remark 1.20.
In the case of curves, , 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, . 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 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 Fermat hypersurface , the periods of any other degree hypersurface 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 be a smooth degree hypersurface, defined as the zero locus of an irreducible polynomial .
2.1. Primitive (co)homology
Understanding the homology and cohomology of is greatly simplified by passing to its complement . However, by this passage we lose a small amount of information and describe the primitive (co)homology instead.
Notation 2.1.
If is even, let be the class of the intersection where is a linear space of codimension . If is odd set .
Recall that we have a non-degenerate intersection pairing:
which is alternating if is odd and symmetric if is even. On cohomology we have the dual cup product.
Definition 2.2.
The subgroup of homology formed by cycle classes orthogonal to is called the primitive homology of and denoted:
Similarly, the elements in cohomology which annihilate form the primitive cohomology of , denoted . Define and in a similar fashion for a field.
When is odd, primitive (co)homology coincides with (co)homology. When is even, and thus . However, we need to add more than just into the primitive homology in order to recover homology.
Lemma 2.3.
When is even, there is a class such that .
Proof.
By Ehresmann’s fibration theorem, any two hypersurfaces of degree and dimension are equivalent from a homological point of view. Therefore, we may assume that is the Fermat hypersurface. Then we may take to be the class of any linear space contained in , such as the one given in Equation (1.5.6). Clearly, . ∎
Lemma 2.4.
When is even, the subgroup has index in . For we have .
Proof.
Since but it is clear that . On the other hand, given any class we can define and write . This implies that the inclusion is an isomorphism. In particular, has index in . ∎
Remark 2.5.
In homology with rational coefficients, , we have . Therefore, we can express as a sum where .
Let be the complement of . Recall that for any -cycle we defined by the -cycle obtained by forming a thin tube, i.e., -bundle, over . This induces the following map between homology groups:
(2.1.7) | ||||
In cohomology, the corresponding map is:
(2.1.8) | ||||
Proposition 2.6.
The natural map defined above establishes an isomorphism:
Proof.
This follows from the excision sequence in topology. See page 159 of [voisin-2007-volII]. ∎
2.2. Griffiths residues
Let be the space of all holomorphic top forms on , i.e., . Let us denote by the subspace of forms which extend to with a pole order at most on . In symbols, . Then we have .
Remark 2.7.
Let us point out that any element in can be written as a quotient:
where is of degree , is the volume form on defined in Equation (1.1.1) and is the equation defining .
Proposition 2.8.
The natural map is surjective. The kernel of this map is generated by exact forms in .
Proof.
This is a particular case of Theorem 6.4 [voisin-2007-volII]. ∎
Definition 2.9.
Definition 2.10.
A set of forms will be said to form a residue basis for if their residues form a basis in .
The cohomology of admits the Hodge decomposition . The corresponding Hodge filtration is denoted by:
This filtration on cohomology induces a filtration on the primitive cohomology by restriction:
Theorem 2.11.
The residue map surjects onto .
Proof.
This is Theorem 8.1 of [griffiths--periods]. ∎
Remark 2.12.
Notice that there are no exact forms in as the derivative of a rational form can not produce pole order one. Combined with the theorem above we get an isomorphism:
2.3. Kernel of the residue map
There is a finite procedure to maximally reduce an element in 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 .
Theorem 2.13 (Theorem 4.2 [griffiths--periods]).
The restricted residue map is surjective where .
The second theorem makes the kernel of the residue map more explicit and is a strengthening of Proposition 2.8 above. Let be the space of -forms on with pole order at most on . Once again, these can be viewed as holomorphic -forms on . We have the algebraic derivation map which allows us to write:
Theorem 2.14 (Theorem 4.3 [griffiths--periods]).
For each , the kernel of the restricted residue map is exactly the image of the derivation map .
Remark 2.15.
It is clear that must belong to the kernel of . What is non-trivial here is that, if for some a form has derivative in , then we can find such that .
2.4. Griffiths–Dwork reduction
Given a form we will describe the Griffiths–Dwork reduction on which modifies 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 from Remark 2.7. We will now describe the elements in , the holomorphic -forms on . Let us use to refer to the -form , where hat denotes omission. A form in can be written as:
(2.4.10) |
where is homogeneous of degree (see [griffiths--periods] for a derivation of this fact).
Let us say that a form has pole order if but . Pole order induces a natural grading on . If we will write where is zero or has pole order , and the highest term is non-zero. Let us refer to as the pole order of . Similarly, we can grade by pole order.
Notation 2.16.
Let in be the Jacobian ideal of . We will assume a Gröbner basis for is fixed once and for all, so that all remainder computations modulo are well defined.
Given , for each write where is a polynomial of degree not divisible by . Let be the remainder of modulo and find polynomials satisfying:
Define the polynomial . Then by Equation 2.4.10 we may conclude that is equivalent modulo exact forms to
The choice of the “coordinates” for the difference is not canonical and therefore the partially reduced form 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 modulo exact forms of pole order . This difference will vanish in the next step of the reduction.
Writing , and , we can apply the same reduction method to the form . After repeated application, all terms in the pole decomposition have been put into a normal form with regards to .
Definition 2.17.
The resulting form is denoted by and will be called a reduced form.
Lemma 2.18.
Suppose are reduced forms in . Then the are linearly independent over if and only if the cohomology classes are linearly independent over .
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 for some and define where is the maximal pole order amongst all . We will show by descending induction on pole order that for all . Since , we can reduce the pole order of modulo the kernel of the residue map. This means that the highest order term must satisfy . On the other hand, the highest order terms of are all in normal form with respect to and thus a linear combination belongs to if and only if the linear combination is 0, implying . We may now proceed to pole order , and since , implies . We may thus repeat the argument for all terms . ∎
Let be the polynomial ring . We will denote by the subspace of homogeneous degree polynomials in . For a homogeneous ideal , we denote by the intersection . Define the following vector space:
Observe that is finite dimensional since is smooth.
Let be homogeneous polynomials which descend to a basis on . For each , let be the positive integer satisfying . Define the forms
Proposition 2.19.
The forms form a residue basis for , see Definition 2.10.
Proof.
This follows from Lemma 2.18 above and the observation that none of the 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 . 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 and let be a homogeneous polynomial of degree with coefficients which are polynomial in the variable , further assume that the coefficients of are relatively prime. For we will write , and . Let us assume that is smooth for generic .
Fix a non-zero polynomial of degree where is an integer. Define the following holomorphic form on :
We will now describe how to find the Picard–Fuchs equation corresponding to .
Recall that we denote by the differentiation by operator. Let be the -th derivative of with respect to . For any the Griffiths–Dwork reduction of the -th derivative has pole order bounded by due to Theorem 2.13. In particular, the reductions of these infinitely many derivatives live in a finite dimensional -vector space.
Let be the smallest integer for which there is a linear linear relation:
(2.5.11) |
where are rational functions in .
Notation 2.21.
Let be the corresponding differential operator.
Lemma 2.22.
Modulo exact forms, we have the following equivalence:
Proof.
Indeed, in Equation (2.5.11) we may simply substitute for each . ∎
Definition 2.23.
The ODE constructed above, , is called the Picard–Fuchs equation corresponding to the form .
From now on assume that is a smooth hypersurface. Furthermore, we will assume that a basis for the primitive homology is fixed around , which we will denote by . As in the introduction (1.3.4), define the period function associated to :
(2.5.12) |
and the individual periods .
Lemma 2.24.
The operator defined above is the minimal annihilating differential operator for the period function .
Proof.
Suppose is another monic operator annihilating with order no greater than the order of . Then the form integrates to 0 over all . But span the primitive homology, which is dual to the primitive cohomology to which belongs. This forces and thus . By definition of we must have . ∎
The coefficients of may have poles at . However, the poles at are always mild, which for us means that the space of solutions of is generated by holomorphic functions around . Before we start this proof, define the following space of functions generated by periods associated to :
Proposition 2.25.
The solution space of near is . In particular, all solutions of this ODE are holomorphic at .
Proof.
By construction, annihilates the vector . Therefore, is contained in the solution space of . This implies .
On the other hand, minimality of implies that the derivatives are not linearly dependent over . Any linear relation satisfied by the entries of would continue to be satisfied by the entries of the derivatives of . In particular, all the derivatives must lie in a fixed sub-space of having dimension . This forces 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 of degree defined in Notation 2.21 may have a singularity at , the first derivatives of at 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 will have the following leading terms:
where ’s are non-negative integers satisfying . These integers are readily computed, as we will now show.
Evaluating a differential operator on for some indeterminate and expanding the result in power series around gives an expression of the form
Definition 2.27.
The coefficient of the lowest order term appearing in is a polynomial which is called the indicial polynomial of at .
Lemma 2.28.
The integers are precisely the roots of the indicial equation of .
Proof.
It is clear that each must be a root of the indicial equation. There can be no other root since the indicial equation of has the same degree as . ∎
To start integrating our Picard–Fuchs equation , we need only compute the following integrals:
3. The algorithm
Let be a smooth hypersurface of degree . We want to compute a period matrix for . The algorithm outlined in the introduction gives this period matrix in theory by deforming to the Fermat hypersurface . 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 by a sequence of hypersurfaces where , each of the hypersurfaces are smooth, each consecutive pair of hypersurfaces are “close to each other” and we start with 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,
where for all .
The notion of being “close together” is measured by the size of the support of in the following sense.
Definition 3.2.
The support of a polynomial is the set of monomials which appear with non-zero coefficient in .
Once the hypersurfaces are constructed, the periods of can be deduced from the periods of the Fermat type hypersurface , and the periods of deduced from the periods of , etc. We will give heuristics on how to construct a sequence 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 whose coefficients are designed to match the coefficients of as closely as possible: If the monomial appears with non-zero coefficient in then we will take to be this coefficient. Otherwise, we will randomly generate such that its order of magnitude matches the size of the coefficients of . The rest of the sequence is constructed inductively, by following the set of heuristics below.
Heuristics 3.3.
Guiding heuristics while constructing the polynomial from :
-
(1)
The support of must be strictly contained in the support of .
-
(2)
The support of should be small.
-
(3)
The support of 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 do not get unnecessarily complicated. The third heuristic is intended to make the partial derivatives of simple, which plays a role in the Griffiths–Dwork reduction.
These heuristics are crude. There may be different paths from to 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 and be smooth hypersurfaces in of degree , with and reduced. Suppose that is a period matrix of computed using an ordered residue basis , see Definition 2.10 for this notion. The particular homology basis used in the computation of is irrelevant.
We will now give an algorithm which takes as input the tuple and gives as output a tuple where is a period matrix of computed using an ordered residue basis .
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 be homogeneous polynomials such that where is a positive integer. Then we will define the following form:
We linearly extend this map to allow for non-homogeneous .
Step 1: Finding a simultaneous residue basis
Let us recall some notation from Section 2. We define to be the polynomial ring , the subspace of homogeneous degree polynomials in . For a homogeneous ideal in , is the intersection . As in Notation 2.16 we will use to denote the Jacobian ideal of a polynomial .
Definition 3.6.
Let be polynomials such that the sets of forms and are residue bases for and respectively. Then we will call a simultaneous residue basis for and .
Using Proposition 2.19 we can find a simultaneous residue basis for and . This requires that we find, for each , a set of polynomials in which descend to bases in both of the following vector spaces:
-
•
,
-
•
.
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 and 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 defined by with parameter . For each let , where form a simultaneous residue basis for and .
For each , use the construction in Section 2.5 to obtain the Picard–Fuchs equation of .
Step 3: Initial conditions
With the Picard–Fuchs equation of , we will now compute the initial conditions for the associated period function , defined as in Equation (2.5.12).
Let be the roots of the indicial equation of . As explained in Section 2.6 the initial conditions we need are for . These are the period vectors associated to on .
Since we are given a residue basis as input, we may express in terms of these basis elements by working with reduced forms. Fixing and , suppose now that are computed such that:
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 . Therefore, the linear expression of computed above allows us to compute the corresponding period vector:
Performing this operation for all gives us all of the initial conditions required to integrate .
Remark 3.8.
Of course, when is a Fermat type hypersurface, we do not need the period matrix for . It is faster to use the formula given in Theorem 4.19.
Step 4: Numerical integration
Construct a path such that and , with the additional constraint that the is smooth for every .
Remark 3.9.
To satisfy the last requirement, we need to determine the values of for which is singular (or, determine a non-disconnecting set containing these singular values). A direct attack would be to compute the singular values of 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 for each . This second method is simpler to execute, but gives many more points than just the singular fibers of the family , making it harder to construct . 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 over the path using the initial conditions computed in Step 3. The result of this integration will form the -th row of the matrix .
Remark 3.10.
The integration of for each should be performed using the same path . Otherwise, one risks computing each row of using a different homology basis!
Output
Return and the residue basis .
3.3. Classical periods
We need the period matrix for the intermediate hypersurfaces used to approach 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 .
Definition 3.11.
The period of a rational form with pole order over will be called a classical period of . The portion of the period matrix formed by elements of the residue basis whose reductions have pole order will be called a classical period matrix of .
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 , which is sufficient for geometric applications. In the case of surfaces, again, one only considers pole order : for instance one studies the period vector of a K3 surface rather than its period matrix.
When we are computing the periods of a sequence of hypersurfaces with target , it can be much faster to compute only the classical periods of . 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 are computed, we determine and integrate only the Picard–Fuchs equations of residue basis elements with pole order .
4. Periods of the Fermat hypersurface
Let and be the corresponding Fermat hypersurface. The hypersurface is simple enough to be studied in depth and, therefore, serves as our base point for period homotopy. We can scale each 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 . Let be the sub-group of automorphisms of generated by scaling the coordinates by . To be more explicit, let be the corresponding group ring and a polynomial ring. We will associate to the following action:
This defines a map
where the kernel is given by the ideal generated by the following elements:
We will thus make the following identification without further mention:
Note that we can write as so we can eliminate when necessary; for instance, when we pass to the affine chart of .
Let be the affine chart and be the corresponding locus, i.e., .
Definition 4.1.
Let .
Remark 4.2.
The space is homeomorphic to the -simplex .
Let , which is to be viewed as an -chain in . By a straightforward computation, one can check that the boundary is zero, thus . Since acts on as well as , we may view and as modules via the induced covariant action on homology.
Notation 4.3.
Define the -module homomorphism given by .
Theorem 4.4 (Theorem 1 [pham--fermat]).
The morphism is surjective, with kernel given by:
Remark 4.5.
By standard arguments, one can show that the middle homology of a degree hypersurface in is torsion-free and of rank
Any cycle in can be viewed as a cycle in , but more is true: will not intersect the hyperplane class. Therefore, the natural inclusion map defines a map . Furthermore, is surjective since any primitive cycle in can be arranged so as not to intersect the hyperplane section .
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 be the ideal of generated by . Notice that has one more generator than the kernel of given in Theorem 4.4.
Definition 4.7.
Let be a -module. A submodule in a module is called primitive if is torsion-free. The primitive closure (or saturation) of , denoted , is the smallest primitive submodule containing .
Corollary 4.8.
Composing the map with the surjection defines a surjective map . The kernel of this map is
where denotes the primitive closure of the ideal in viewed as a -submodule.
Proof.
The morphism is -equivariant by design. Therefore its kernel must be a -invariant ideal. Combining this observation with Theorem 4.4 we conclude that the kernel contains . On the other hand, is torsion-free which means that the kernel must contain the primitive closure of .
To show that the kernel cannot contain anything else we simply compute the dimension of using the formula given in Remark 4.5 and see that it equals the dimension of . ∎
4.2. Making the residue map explicit
Pick such that for an integer . Recall and . We define:
(4.2.13) |
Recall Griffiths’ residue map from Section 2.2:
In this section we will make this residue map explicit, by associating to a meromorphic form on . The poles of will be positioned along a hyperplane section of , so that represents a primitive cohomology class on .
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 be a non-zero number, and . Then, we have the following residue formula:
Proof.
Since is non-zero and is small, we can choose a branch of the -th root function such that the substitution is well defined, where 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 be the value of the integral given in Lemma 4.10 with .
Definition 4.12.
A tuple satisfying will be called an admissible index. For an admissible index we define the form:
Proposition 4.13.
For an admissible index , we have an equivalence modulo exact forms:
Proof.
In order to end up with poles that are favorably positioned, we will begin working in the affine chart and later pass to the affine chart . Let denote the coordinate functions on . We then have:
On the open locus where , the tangent vector does not belong to the tangent space of . Therefore we can construct a tubular neighbourhood around by using an -fibration where and each fiber of is a (small) circle in the direction of .
Integrating along this -fibration, we can push it down to a form on which we will denote by . Fix a point and notice that . The integral over the fiber of over will give:
for small . Now we use Lemma 4.10 to conclude:
Due to the severity of the poles at we change coordinates to the affine chart . Let us denote by the coordinate functions on . Naturally, and for . By mere substitution, and using the identity , we have:
On the other hand, a straightforward computation reveals that the volume form changes in the following way:
where we used both of the following identities on the hypersurface : and .
Putting these two together gives us the desired result. Note that the tubular neighbourhood gets infinitely thin as we approach the locus . Nevertheless, we can extend our representation of to the locus simply because it has no poles there, as can be verified by substituting for any one of the appearing in the volume form. ∎
4.3. Residues over Pham cycles
Recall from Section 4.1 that and is the Pham cycle generating the primitive integral homology under the action of the group ring .
Notation 4.14.
For a given integer sequence denote by the element of .
Let denote the Euler gamma function. Recall the identity ([artin--gamma, pg. 19]):
(4.3.14) |
Lemma 4.15.
The integral of over has the following value:
Proof.
For the positive -th root of is well defined and will be denoted by . 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 we introduce the following variables inductively:
We now have:
By induction on one can see that:
The differentials can be expressed in terms of the differentials for in the following manner:
where we omitted the terms involving ’s for since they will be killed when taking the volume form. Indeed, the volume form can now be written as:
Putting everything together, we get:
We have successfully separated the variables in the integrand, therefore we have the following equality:
Substituting the identity in Equation 4.3.14 we get a telescoping product, giving us the claimed result. ∎
For integer sequences , let .
Lemma 4.16.
For admissible and any we have:
Proof.
This follows at once by the change of variables . ∎
Proposition 4.17.
For any admissible and any we have:
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 such that we defined the meromorphic form
(4.3.15) |
where is the volume form on defined in Equation (1.1.1). Combining Proposition 4.17 with Proposition 4.13 we now obtain the following result.
Theorem 4.19.
Let where for some . Then we have:
4.4. Changing the type of the Fermat curve
For a sequence of non-zero complex numbers we may want to take our initial Fermat hypersurface to be cut out by:
Then the integrals given in Theorem 4.19 change slightly, which we record here for convenience.
Our standard choice of Fermat hypersurface is which we will continue to denote by . For let be a -th root of and let be a -th root of . Defining , we get an isomorphism:
We will use the basis of obtained as the image of the basis we just constructed for using Pham cycles.
4.5. From primitive to entire homology
When is odd, homology agrees with primitive homology. However, when is even we need to add an extra class to primitive homology to generate homology. For this section assume is even.
As demonstrated in Lemma 2.4 we may add the class of a linear space contained in . We picked 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 the homology class of . Furthermore, let us denote by the homology class of in . Using Corollary 4.8, pick a subset such that freely generates .
As mentioned in Remark 2.5, with defined as in Notation 2.1, we may write where . Since the residues are in the primitive cohomology, they annihilate the class . Therefore, we have the equality:
In particular, the period of can be computed without taking any new integrals. We need only determine the expression of in terms of for .
Write for and let be the row vector formed by these coefficients. Let be the row vector formed by intersecting with the basis elements, note that for all . Finally, let be the intersection matrix on primitive cohomology. Then, evidently, we have:
(4.5.17) |
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 to another hypersurface and carry the basis of homology during this deformation, then the linear relation computed in Equation (4.5.17) remains constant. Therefore, the periods of deformations of can be computed simply from the periods of deformations of ’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 and which appear very different but for which we expect to have an invertible integer matrix such that . A standard application of LLL allows us to find small integer matrices that approximately solve this system. If the entries in the matrix are very small compared to the precision available in ; and if the matrix is very close to , 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 .
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 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 , which defines an elliptic curve with -invariant
We deform periods from the Fermat curve . If we deform to directly, we need to integrate the following Picard–Fuchs equation:
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 is given below, truncated to 10 digits:
The -invariant of this period vector agrees to digits with the exact -invariant of the curve.
Alternatively, we can define the following sequence of curves:
which changes only one monomial at a time. Let us write for . 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 and but we need only integrate one for :
.
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 , which is given below truncated to 10 digits:
Note that is slightly different from due to monodromy. Finally, algcurves takes a little over 3 seconds to compute to 20 digits, which is given below truncated to 10 digits:
Using ChangeHomologyBasis we find matrices and such that and with error less than , where:
Random cubic curve
We state the computation times for a randomly generated cubic:
We take as the initial point of our deformation and compute the periods to 20 digits of precision. The straight path from to 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 -invariants agree with the -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 be an ODE with relatively prime coefficients. The order of is the highest power of the differentiation operator appearing in . The degree of is the highest degree of all the polynomials appearing as coefficients of . For , 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:
We pick the Fermat curve as our initial curve. We begin with the straight path from to . The three ODEs for this deformation are computed in 1.58 seconds. The three order and degree pairs are displayed below:
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:
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 denoting the -th family, we list the order-degree pairs of the corresponding sets of ODEs:
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:
The algcurves package cannot handle this curve by default and crashes after an hour of computation. However, if asked to project on to the -axis, instead of the default -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:
Applying ChangeHomologyBasis we find that the change of basis matrix for homology is:
After applying this matrix, the greatest discrepancy between the period matrices is less than .
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].

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:
A straight path from 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:
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.

Let us now break the path of deformation and take the following six steps:
As before, each deformation is given by where . 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:
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.






5.4. Higher genus curves
A curve of genus 6
We generated a random sparse degree 5 curve with small coefficients, getting
A straight deformation from a Fermat curves appears hopeless. After some experimentation we found that the following path of deformation works well:
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, . To illustrate this principle, let us compute the periods of the following genus 105 curve:
Choosing we compute the Picard–Fuchs equations of the family 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 . 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 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 with . 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 which is simple for us as it close to the Fermat quartic . Indeed, even the straight path from to 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 by we have:
A fortunate monomial path
This example illustrates how drastic it can be to find a good monomial path. Take the quartic:
and let . Then the computation of the Picard–Fuchs equation for the straight path from to could not be found after 53 hours of computation.
On the other hand, consider the following monomial path:
It takes 0.670 seconds to determine all of the ODEs we need. It takes 17 seconds to integrate these ODEs with precision , or 59 seconds with precision . The order-degree pairs of this system are as follows:
A harder quartic
The quartic surface defined by 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 . 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 we find the following sequence of hypersurfaces where only one monomial is changed at each step:
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.
