This package implements algorithms relying on Lefschetz fibration theory to compute periods of algebraic varieties.
Project description
lefschetz-family
Description
This Sage package provides a means of efficiently computing periods of complex projective hypersurfaces and elliptic surfaces over $\mathbb P^1$ with certified rigorous precision bounds. It implements the methods described in https://arxiv.org/abs/2306.05263. Here is a runtime benchmark for various examples:
Variety (generic) | Time (on 4 M1 cores) |
---|---|
Elliptic curve | 8 seconds |
Quartic curve | 4 minutes |
Cubic surface | 4 minutes 20 |
Quartic surface | 1 hour (for holomorphic periods) |
Cubic threefold | 1 hour (for holomorphic periods) |
How to install
Follow the installation procedure of the numperiods package, then run
sage -pip install lefschetz-family
or
sage -pip install --user lefschetz-family
Requirements
Sage 9.0 and above is recommended. Furthermore, this package has the following dependencies:
- Ore Algebra.
- numperiods.
- The delaunay-triangulation package from PyPI.
Usage
Hypersurface
The first step is to define the polynomial $P$ defining the projective hypersurface $X=V(P)$. For instance, the following gives the Fermat elliptic curve:
R.<X,Y,Z> = PolynomialRing(QQ)
P = X**3+Y**3+Z**3
Then the following creates an object representing the hypersurface:
from period import LefschetzFamily
X = Hypersurface(P)
The period matrix of $X$ is the simply given by:
X.period_matrix
See the computation of the periods of the Fermat quartic surface for a usage example.
See the computation of the periods of the Fermat quartic surface for a usage example.
Options
The object Hypersurface
can be called with several options:
method
("voronoi"
by default/"delaunay"
/"delaunay_dual"
): the method used for computing a basis of homotopy.voronoi
uses integration along paths in the voronoi graph of the critical points;delaunay
uses integration along paths along the delaunay triangulation of the critical points;delaunay_dual
paths are along the segments connecting the barycenter of a triangle of the Delaunay triangulation to the middle of one of its edges. In practice,delaunay
is more efficient for low dimension and low order varieties (such as degree 3 curves and surfaces, and degree 4 curves). This gain in performance is however hindered in higher dimensions because of the algebraic complexity of the critical points (which are defined as roots of high order polynomials, with very large integer coefficients)."delaunay"
method is not working for nownbits
(positive integer,400
by default): the number of bits of precision used as input for the computations. If a computation fails to recover the integral monodromy matrices, you should try to increase this precision. The output precision seems to be roughly linear with respect to the input precision.debug
(boolean,False
by default): whether coherence checks should be done earlier rather than late. We recommend setting to true only if the computation failed in normal mode.
Properties
The object Hypersurface
has several properties.
Fibration related properties, in positive dimension:
fibration
: a list of independant hyperplanes defining the iterative pencils. The first two element of the list generate the pencil used for the fibration.critical_values
: the list critical values of that map.basepoint
: the basepoint of the fibration (i.e. a non critical value).fiber
: the fiber above the basepoint as aHypersurface
object.fundamental_group
: the class computing representants of the fundamental group of $\mathbb P^1$ punctured at the critical values.paths
: the list of simple loops around each point ofcritical_values
. When this is called, the ordering ofcritical_values
changes so that the composition of these loops is the loop around infinity.family
: the one parameter family corresponding to the fibration.
Homology related properties:
monodromy_matrices
: the matrices of the monodromy action ofpaths
on $H_{n-1}(X_b)$.vanishing_cycles
: the vanshing cycles at each point ofcritical_values
alongpaths
.thimbles
: the thimbles of $H_n(Y,Y_b)$. They are represented by a starting cycle in $H_n(Y_b)$ and a loop in $\mathbb C$ avoidingcritical_values
and pointed atbasepoint
.kernel_boundary
: linear combinations of thimbles with empty boundary.extensions
: integer linear combinations of thimbles with vanishing boundary.infinity_loops
: extensions around the loop at infinity.homology_modification
: a basis of $H_n(Y)$.intersection_product_modification
: the intersection product of $H_n(Y)$.fibre_class
: the class of the fibre in $H_n(Y)$.section
: the class of a section in $H_n(Y)$.thimble_extensions
: couples(t, T)
such thatT
is the homology class in $H_n(Y)$ representing the extension of a thimble $\Delta \in H_{n-1}(X_b, X_{bb'})$ over all of $\mathbb P^1$, with $\delta\Delta =$t
. Futhermore, thet
s define a basis of the boundary map $\delta$.invariant
: the intersection ofsection
with the fibre above the basepoint, as a cycle in $H_{n-2}({X_b}_{b'})$.exceptional_divisors
: the exceptional cycles coming from the modification $Y\to X$, given in the basishomology_modification
.homology
: a basis of $H_n(X)$, given as its embedding in $H_2(Y)$.intersection_product
: the intersection product of $H_n(X)$.lift
: a map taking a linear combination of thimbles with zero boundary (i.e. an element of $\ker\left(\delta:H_n(Y, Y_b)\to H_{n-1}(Y_b)\right)$) and returning the homology class of its lift in $H_2(Y)$, in the basishomology_modification
.lift_modification
: a map taking an element of $H_n(Y)$ given by its coordinates inhomology_modification
, and returning its homology class in $H_n(X)$ in the basishomology
.
Cohomology related properties:
cohomology
: a basis of $PH^n(X)$, represented by the numerators of the rational fractions.holomorphic_forms
: the indices of the forms incohomology
that form a basis of holomorphic forms.picard_fuchs_equation(i)
: the picard fuchs equation of the parametrization of i-th element ofcohomology
by the fibration
Period related properties
period_matrix
: the period matrix of $X$ in the aforementioned baseshomology
andcohomology
period__matrix_modification
: the period matrix of the modification $Y$ in the aforementioned baseshomology_modification
andcohomology
holomorphic_periods
: the periods ofholomorphic_forms
in the basishomology
.holomorphic_periods
: the periods of the pushforwards ofholomorphic_forms
in the basishomology_modification
.
Miscellaneous properties:
P
: the defining equation of $X$.dim
: the dimension of $X$.degree
: the degree of $X$.ctx
: the options of $X$, see related section above.
The computation of the exceptional divisors can be costly, and is not always necessary. For example, the Picard rank of a quartic surface can be recovered with holomorphic_periods_modification
.
EllipticSurface
The defining equation for the elliptic surface should be given as a univariate polynomial over a trivariate polynomial ring. The coefficients should be homogeneous of degree $3$.
R.<X,Y,Z> = PolynomialRing(QQ)
S.<t> = PolynomialRing(R)
P = X^2*Y+Y^2*Z+Z^2*X+t*X*Y*Z
Then the following creates an object representing the hypersurface:
from period import LefschetzFamily
X = EllipticSurface(P)
Options
The options are the same as those for Hypersurface
(see above).
Properties
The object ElliptcSurface
has several properties.
Fibration related properties, in positive dimension:
fibration
: the two linear maps defining the map $X\dashrightarrow \mathbb P^1$.critical_values
: the list critical values of that map.basepoint
: the basepoint of the fibration (i.e. a non critical value).fiber
: the fiber above the basepoint as aLefschetzFamily
object.paths
: the list of simple loops around each point ofcritical_points
. When this is called, the ordering ofcritical_points
changes so that the composition of these loops is the loop around infinity.family
: the one parameter family corresponding to the fibration.
Homology related properties:
extensions
: the extensions of the fibration.extensions_morsification
: the extensions of the morsification of the fibration.homology
: the homology of $X$.singular_components
: a list of lists of combinations of thimbles of the morsification, such that the elements ofsingular_components[i]
form a basis of the singular components of the fibre abovecritical_values[i]
. To get their coordinates in the basishomology
, useX.lift(X.singular_components[i][j])
.fibre_class
: the class of the fibre inhomology
.section
: the class of the zero section inhomology
.intersection_product
: the intersection matrix of the surface in the basishomology
.morsify
: a map taking a combination of extensions and returning its coordinates on the basis of thimbles of the morsification.lift
: a map taking a combination of thimbles of the morsification with empty boundary and returning its class inhomology
.
Cohomology related properties:
holomorphic_forms
: a basis of rational functions $f(t)$ such that $f(t) \operatorname{Res}\frac{\Omega_2}{P_t}\wedge\mathrm dt$ is a holomorphic form of $S$.picard_fuchs_equations
: the list of the Picard-Fuchs equations of the holomorphic forms mentionned previously.
Period related properties:
period_matrix
: the holomorphic periods of $X$ in the basesself.homology
andself.holomorphic_forms
.effective_periods
: the holomorphic periods $X$ in the basesself.effective_lattice
andself.holomorphic_forms
Lattices. Unless stated otherwise, lattices are given the coordinates of a basis in the basis homology
.
effective_lattice
: The lattice of effective cycles of $X$, consisting of the concatenation ofextensions
,singular_components
,fibre_class
andsection
.neron_severi
: the Néron-Severi group of $X$.trivial
: the trivial lattice.essential_lattice
: the essential lattice.mordell_weil
: the Mordell-Weil group of $X$, described as the quotient moduleneron_severi/trivial
.mordell_weil_lattice
: the intersection matrix of the Mordell-Weil lattice of $X$.
Miscellaneous properties:
dim
: the dimension of $X$.ctx
: the options of $X$, see related section above.
Contact
For any question, bug or remark, please contact eric.pichon@polytechnique.edu.
Roadmap
Near future milestones:
- Encapsulate integration step in its own class
- Certified computation of the exceptional divisors
- Making Delaunay triangulation functional again
- Saving time on differential operator by precomputing cache before parallelization
Middle term goals include:
- Having own implementation of 2D voronoi graphs/Delaunay triangulation
Long term goals include:
- Computing periods of elliptic fibrations.
- Tackling higher dimensional varieties (most notably cubics in $\mathbb P^5$).
- Computing periods of singular varieties.
- Computing periods of complete intersections.
- Computing periods of weighted projective hypersurfaces, notably double covers of $\mathbb P^2$ ramified along a cubic.
Other directions include:
- Computation of homology through braid groups instead of monodromy of differential operators.
Project status
This project is actively being developped.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file lefschetz_family-0.1.6.tar.gz
.
File metadata
- Download URL: lefschetz_family-0.1.6.tar.gz
- Upload date:
- Size: 36.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f518c5b66891e74b6cc6c31196db612bc21982a64ec8b0b0a9a151eea091ba3 |
|
MD5 | 4da08966ba847e4ba92f00b7dfd64b31 |
|
BLAKE2b-256 | fd8b20f96a4f1690c196d49860818664cdd01e7916e93f55db1371bf13df40b4 |
File details
Details for the file lefschetz_family-0.1.6-py3-none-any.whl
.
File metadata
- Download URL: lefschetz_family-0.1.6-py3-none-any.whl
- Upload date:
- Size: 44.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90e83c4455c48d7fc7eed0833213015171638324e57e1699b5d93eeb0973f410 |
|
MD5 | 0941b9786569e8c8b2600ea24ba41bbe |
|
BLAKE2b-256 | 0e4affb1d5caf259cb758aa0b48a849b6eb9b389a0bf1543bac346c014200bc4 |