AtiyahBott
An implementation of the Atiyah-Bott formula for the moduli space of genus 0 stable maps.
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
Repository
An implementation of the Atiyah-Bott formula for the moduli space of genus 0 stable maps.
Basic Info
- Host: GitHub
- Owner: mgemath
- License: mit
- Language: Julia
- Default Branch: master
- Homepage: https://mgemath.github.io/AtiyahBott.jl/
- Size: 409 KB
Statistics
- Stars: 4
- Watchers: 2
- Forks: 2
- Open Issues: 1
- Releases: 0
Topics
Metadata Files
README.md
AtiyahBott.jl
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
- Repositories: 2
- Profile: https://github.com/mgemath
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 | 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.
- Homepage: https://mgemath.github.io/AtiyahBott.jl/
- Documentation: https://docs.juliahub.com/General/AtiyahBott/stable/
- License: MIT
-
Latest release: 2.2.2
published about 1 year ago
Rankings
Dependencies
- actions/checkout v2 composite
- julia-actions/setup-julia latest composite