AtiyahBott

An implementation of the Atiyah-Bott formula for the moduli space of genus 0 stable maps.

https://github.com/mgemath/atiyahbott.jl

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org, sciencedirect.com
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.4%) to scientific vocabulary

Keywords

algebraic-geometry cohomology equivariant-representations graph-algorithms julia python3
Last synced: 4 months ago · JSON representation ·

Repository

An implementation of the Atiyah-Bott formula for the moduli space of genus 0 stable maps.

Basic Info
Statistics
  • Stars: 4
  • Watchers: 2
  • Forks: 2
  • Open Issues: 1
  • Releases: 0
Topics
algebraic-geometry cohomology equivariant-representations graph-algorithms julia python3
Created over 4 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

AtiyahBott.jl

Doc Site Site

This package contains an implementation of the Atiyah-Bott residue formula for the moduli space of genus 0 stable maps in the Julia language. The theory behind the package and the algorithm are described in the paper "Effective computations of the Atiyah-Bott formula" by Giosuè Muratore and Csaba Schneider (https://doi.org/10.1016/j.jsc.2022.01.005).
Full documentation is available here: https://mgemath.github.io/AtiyahBott.jl/.

Installation

In order to install this package, type: julia julia> using Pkg julia> Pkg.add("AtiyahBott") After the installation, simply type: julia julia> using AtiyahBott every time you want to use the program.

To use our code, you should first define the equivariant classes to be calculated as julia julia> P = ... After the "=", one has to write an expression in the equivariant classes. After P is defined, one has to call the Atiyah-Bott formula by the command julia julia> AtiyahBottFormula(n,d,m,P); The full list of the currently supported equivariant classes is the following: julia O1_i(j) (pull back of the line bundle O(1) with respect to the ev_j) O1() (product of all O1_i(j)) Incidency(r) (class of curves meeting a linear subspace) Hypersurface(b) (class of curves contained in a hypersurface of degree b) Contact() (class of contact curves) R1(k) (first derived functor of direct image of the pull back of O(-k)) Psi(a) (cycle of psi-classes) Jet(p,q) (Euler class of the jet bundle J^p) Brief descriptions on these functions can be obtained through the standard help functionality of Julia by typing "?" and then the name of the function. julia help?> Psi

Note that computations can be faster using multi-threading. Visit https://docs.julialang.org/en/v1/manual/multi-threading/#man-multithreading to learn how to start Julia with multi-threading.

Examples

In the following we list some geometrically meaning computations.

Curves in projective spaces

To compute the number of rational plane curves of degree d through 3d−1 general points, one may write: julia julia> d = 1; #for other values of d, change this line julia> P = O1()^2; julia> AtiyahBottFormula(2,d,3*d-1,P); Alternatively, one can perform such computation with zero marked points by typing: julia julia> P = Incidency(2)^(3*d-1); julia> AtiyahBottFormula(2,d,0,P);

Curves in Hypersurfaces

The virtual number of rational degree d curves on a general complete intersection of type (2,3) in the projective space of dimension 5: julia julia> d = 1; #for other values of d, change this line julia> P = Hypersurface([2,3]); julia> AtiyahBottFormula(5,d,0,P); The number of rational degree d curves on a cubic surface passing through d-1 points: julia julia> d = 1; #for other values of d, change this line julia> P = Hypersurface(3)*(Incidency(2)//3)^(d-1); julia> AtiyahBottFormula(3,d,0,P);

Tangency conditions

The number plane rational degree d curves through 3d-2 points and tangent to a line: julia julia> d = 1; #for other values of d, change this line julia> P = Incidency(2)^(3*d-1)*Jet(1,1); julia> AtiyahBottFormula(2,d,1,P);

Hurwitz numbers

The weighted number of genus 0 degree d covers of the projective line, which are étale over a fixed point and with 2d-2 fixed finite simple ramification points, is: julia julia> d = 1; #for other values of d, change this line julia> P = O1()*Psi(ones(Int,2*d-2)); julia> AtiyahBottFormula(1,d,2*d-2,P); See https://arxiv.org/pdf/math/0101147.pdf.

Future goals

The following may be future expansions of this program. - Support for positive genus curves. - Improve parallel acceleration.

If you have other suggestions, please raise an issue on github.

Citing

We encourage you to cite our work if you have used our package. See "Cite this repository" on this page.

Owner

  • Name: Giosuè Muratore
  • Login: mgemath
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Muratore"
  given-names: "Giosuè"
  orcid: "https://orcid.org/0000-0003-0038-1432"
- family-names: "Schneider"
  given-names: "Csaba"
  orcid: "https://orcid.org/0000-0002-1035-9311"
title: "AtiyahBott"
version: 2.4.0
doi: 10.1016/j.jsc.2022.01.005
date-released: 2022-01-21
url: "https://github.com/mgemath/AtiyahBott.jl"
preferred-citation:
  type: article
  authors:
  - family-names: "Muratore"
    given-names: "Giosuè"
    orcid: "https://orcid.org/0000-0003-0038-1432"
  - family-names: "Schneider"
    given-names: "Csaba"
    orcid: "https://orcid.org/0000-0002-1035-9311"
  doi: "10.1016/j.jsc.2022.01.005"
  journal: "Journal of Symbolic Computation"
  month: 
  start: 164 # First page number
  end: 181 # Last page number
  title: "Effective computations of the Atiyah-Bott formula"
  issue: 
  volume: 112
  year: 2022
  url: "https://www.sciencedirect.com/science/article/pii/S0747717122000050"
  issn: 0747-7171

GitHub Events

Total
  • Push event: 5
Last Year
  • Push event: 5

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 62
  • Total Committers: 2
  • Avg Commits per committer: 31.0
  • Development Distribution Score (DDS): 0.129
Top Committers
Name Email Commits
Gios89 m****e@g****m 54
Giosuè Muratore 8****h@u****m 8

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 1
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • KristofferC (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • julia 2 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 8
juliahub.com: AtiyahBott

An implementation of the Atiyah-Bott formula for the moduli space of genus 0 stable maps.

  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 2 Total
Rankings
Dependent repos count: 9.9%
Forks count: 33.3%
Average: 33.8%
Dependent packages count: 38.9%
Stargazers count: 52.9%
Last synced: 4 months ago

Dependencies

.github/workflows/Documentation.yml actions
  • actions/checkout v2 composite
  • julia-actions/setup-julia latest composite