Skip to main content

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

Please cite accordingly.

This package is a successor to the numperiods package by Pierre Lairez. It contains files taken from this package, that have sometimes been slightly modified to accomodate for new usage.

How to install in an existing Sage installation

In a terminal, run

sage -pip install --no-build-isolation git+https://github.com/mkauers/ore_algebra.git
sage -pip install lefschetz-family

or

sage -pip install --no-build-isolation --user git+https://github.com/mkauers/ore_algebra.git
sage -pip install --user lefschetz-family

Note the crucial option --no-build-isolation. The ore_algebra package contains extension modules; the option instructs pip to build these modules against the existing Sage installation.

Alternatively, install the ore_alegbra package (available at https://github.com/mkauers/ore_algebra), then download this repository and add the path to the main folder to your sys.path.

Requirements

Sage 9.0 and above is recommended. Furthermore, this package has the following dependencies:

Using lefschetz-family in a virtual Python environment (no prior Sage installation required)

Create and activate a virtual environment:

python3 -m venv venv-lefschetz-family
. venv-lefschetz-family/bin/activate

Install the package in the virtual environment:

pip install "lefschetz-family[passagemath] @ git+https://github.com/ericpipha/lefschetz-family.git" "ore_algebra[passagemath] @ git+https://github.com/mkauers/ore_algebra.git"

This automatically installs the modularized parts of the Sage library that are needed by the package. (These modularized distributions are provided by https://github.com/passagemath.)

Next, start Sage:

rehash
sage

At the Sage prompt, load a modularized top-level environment:

sage: from sage.all__sagemath_schemes import *

Documentation

  • Hypersurface for computing periods of hypersurfaces.
  • EllipticSurface for computing periods of elliptic surfaces.
  • DoubleCover for computing periods of ramified double cover of projective spaces.
  • FibreProduct for computing periods of fibre products of elliptic surfaces.
  • Fibration for computing monodromy representations of families of hypersurfaces.

Performance benchmarking

Here is a runtime benchmark for computing monodromy representations and periods of various types of varieties, with an input precision of 1000 bits:

Variety (generic) Time (on 10 M1 cores) Recovered precision (decimal digits)
Elliptic curve 5 seconds 340 digits
Quartic curve 90 seconds 340 digits
Quintic curve 5 minutes 340 digits
Sextic curve 30 minutes 300 digits
Cubic surface 40 seconds 340 digits
Quartic surface 1 hour 300 digits
Cubic threefold 15 minutes 300 digits
Cubic fourfold 20 hours 300 digits
Rational elliptic surface 10 seconds N/A
Elliptic K3 surface 30 seconds* 300 digits
Degree 2 K3 surface 5 minutes 300 digits

*for holomorphic periods

Contact

For any question, bug or remark, please contact eric.pichon@mis.mpg.de.

Roadmap

Near future milestones:

  • Encapsulate integration step in its own class
  • Certified computation of the exceptional divisors
  • Saving time on differential operator by precomputing cache before parallelization
  • Computing periods of elliptic fibrations.
  • Removing dependency on numperiods.

Middle term goals include:

  • Making Delaunay triangulation functional again
  • Having own implementation of 2D voronoi graphs/Delaunay triangulation

Long term goals include:

  • Tackling cubic threefolds.
  • Generic code for all dimensions.
  • Computing periods of K3 surfaces with mildy singular quartic models.
  • Dealing with other singularities, especially curves.
  • Computing periods of complete intersections.
  • Computing periods of weighted projective hypersurfaces, notably double covers of $\mathbb P^2$ ramified along a sextic.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lefschetz_family-0.1.21-py3-none-any.whl (135.5 kB view details)

Uploaded Python 3

File details

Details for the file lefschetz_family-0.1.21-py3-none-any.whl.

File metadata

File hashes

Hashes for lefschetz_family-0.1.21-py3-none-any.whl
Algorithm Hash digest
SHA256 047656c5b3c0303f338ea67c3251c26346cfff4fbc148202d10529c98a8aba28
MD5 caf0168f4cf026b3e030cdd9b13eb5cf
BLAKE2b-256 2d84ef840c33fa9fea88313e25469dae3b4353c892046a61e01bf2011a1b9e5c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page