cohomCalg
Frequently Asked Questions:
What is cohomCalg?
As part of the research collaboration with R. Blumenhagen, T. Rahn and H. Roschy on an algorithm for computing the sheaf cohomology group dimensions for line bundles on toric varieties—see the paper here for the details—I developed a high-performance C++ implementation of the algorithm. cohomCalg (pronounced “cohom-calc” as an abbreviation) is the name of this implementation.
Given the generators of a Stanley-Reisner ideal and the gauged linear sigma-model (GLSM) charges / degrees of the homogeneous coordinates for a toric variety, the program computes the dimensions of the sheaf cohomology groups for the twisted holomorphic line bundle / structure sheaf O(D) on the variety. Those dimensions are required frequently for the computation of numerous physically relevant quantities.
Where can I get cohomCalg?
For the most recent version and status of the program see the Official cohomCalg website.
What does cohomCalg cost?
Nothing. As the result of a scientific research project, it’s licensed under the GPL v3 and therefore comes completely free with full source code.
Can I use the program in my own work?
Yes. The license certainly allows for derivated work, provided that the original authors are acknowledged and the work is itself released under the GPL v3 with open source code. Therefore you should include some reference to our research paper on the algorithm at an appropiate place of your work. Please keep in mind that while the project will be maintained and further expanded in the foreseeable future, it’s long time support cannot be guaranteed.
Development Motivation:
In comparison to our earlier algorithm implementation as a Mathematica script, this C++ implementation provides a huge speedup by five to six orders of magnitude according to our measurements. For the actual geometries of interest to us, this effectivily means quasi-instantaneous computation time for all relevant examples. Besides that, cohomCalg’s usage is extremely straightforward and intuitive: data input and output is provided via a text files in a rather human-readable format, which allows for an easy integration into our day-to-day workflow. In case you are interested in some of the details of the implementations, take a look at the corresponding section in the manual contained in the package.

