GithubHelp home page GithubHelp logo

pokern / cohomcalg Goto Github PK

View Code? Open in Web Editor NEW

This project forked from benjaminjurke/cohomcalg

0.0 2.0 0.0 5.4 MB

A software package for computation of sheaf cohomologies for line bundles on toric varieties.

License: GNU General Public License v3.0

Makefile 0.09% Mathematica 55.15% TeX 3.20% C 29.94% C++ 11.61%

cohomcalg's Introduction

cohomCalg

GitHub release GitHub issues GitHub license

cohomCalg logo with Koszul extension
A software package for computation of sheaf cohomologies
for line bundles on toric varieties.

Authors: Ralph Blumenhagen, Benjamin Jurke, Thorsten Rahn, Helmut Roschy

Project history

The algorithm for the computation of sheaf cohomologies for line bundles on toric varieties presented in arXiv:1003.5217 [hep-th] "Cohomology of Line Bundles: A Computational Algorithm" has been implemented in a convenient and high-performance C/C++ application called cohomCalg. The optional cohomCalg Koszul extension serves as a Mathematica 7 frontend and allows for the easy computation of hypersurface and complete intersection cohomologies, following the material presented in arXiv:1010.3717 [hep-th].

About three months after the initial conjecture's preprint release, a proof of the algorithm was presented in arXiv:1006.2392 [hep-th], which also clarifies much of the underlying mathematical structures. At the same time an independant proof was developed in arXiv:1006.0780 [math.AG] - published in fact a few days earlier - which utilized alternative methods.

The full background story can be found here along with some simple examples.

The source code is freely available under the GNU GPL v3 license terms. Furthermore, the implementation makes use of The Polyhedral Library (or PolyLib for short), which is available here under the same license.

Documentation

A full documentation and several example input files are included in the cohomCalg download package, see "manual.pdf". Furthermore, you can eMail us for technical support or other related questions. For ease of use the package includes pre-compiled binaries for Microsoft Windows both in 32- and 64-bit versions, with the latter being considerably faster.

Changelog

  • v0.32 (December 26, 2017): Replaced TinyThread++ by C++11 std::thread, Intel C++ 18.0 Windows binaries.
  • v0.31d (January 16, 2017): Several minor updates and corrections.
  • v0.31c (January 14, 2017): Minor update due to GCC 6.2 compatibility issues, recompiled Windows binaries.
  • v0.31b (April 18, 2012): Minor bugfix due to GCC 4.6 compatibility issues.
  • v0.31 (May 25, 2011): Multi-core support, new vector bundle routines, overall improvements.
  • v0.21 (October 18, 2010): cohomCalg Koszul extension added!
  • v0.13 (July 23, 2010): Integration mode added, see command line option --integrated in manual.
  • v0.12 (June 25, 2010): Several minor bugfixes and improvements.
  • v0.11 (May 4, 2010): Original public release of the cohomCalg implementation.
  • v0.04 (March 29, 2010): Original public release of the Mathematica 7 script, which is still available here.

Known bugs & Shortcomings

Certain invalid input data is at the moment not safely handled by the PolyLib. For the moment, the crash situation is circumvented in a Quick&Dirty manner. In such cases you will see a message like Counting of the rationoms errorneous - is your input geometry valid? in those cases, which caused the original release version to crash. So far, all such cases could be traced back to bad input data. Further implementation-related shortcomings are explained in the manual.

License & Proper Citation

As mentioned, the entire package is published under the GNU GPL v3 License, as required by the included PolyLib. This means that any derivative work also has to be published under the GPL v3 License or an equivalent license. The package contains a small text file "Proper Citation.txt" providing a BibTeX entry for cohomCalg, which you can use if you use the program in your work.

Or you can simply Copy&Paste the following BibTeX snippet provided for convenience:

@Article{Blumenhagen:2010pv,
   author    = "Blumenhagen, Ralph and Jurke, Benjamin 
                and Rahn, Thorsten and Roschy, Helmut",
   title     = "{Cohomology of Line Bundles: A Computational Algorithm}",
   journal   = "J. Math. Phys.",
   volume    = "51",
   pages     = "103525",
   issue     = "10",
   year      = "2010",
   doi       = "10.1063/1.3501132",
   eprint    = "1003.5217",
   archivePrefix = "arXiv",
   primaryClass  = "hep-th"}

@Misc{cohomCalg:Implementation,
   title     = "{cohomCalg package}",
   howpublished  = "Download link",
   url       = "https://github.com/BenjaminJurke/cohomCalg",
   note      = "High-performance line bundle cohomology computation based on \cite{Blumenhagen:2010pv}",
   year      = "2010"}

Related Links

In order to derive the Stanley-Reisner ideal, which is a required input for the program, you may want to take a look at TOPCOM, which can also enumerate all possible fans for a given set of vertices. The Maple script package SCHUBERT can be used to compute intersection numbers and further geometrical quantities of toric varieties. Furthermore, there is the package PALP which is useful for computing invariants of hypersurfaces, Mori cone vectors etc. You may also want to take a look at the SAGE Library of freely available mathematical software. The Macaulay2 software, which allows similar computations, was heavily used during the development process.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.