The package CYTools.jl aims towards making the entire functionality of the Python package CYTools available in Julia. We base this project on OSCAR for general functionality on toric spaces, polyhedral geometry etc. Specialized algorithms (for CICYs, 3 and 4-dimensional reflexive polytopes in the Kreuzer-Skarke list) will be collected in this Julia
package.
As long as infrastructure/architecture is concerned, the goal is to write code which would eventually allow for a full-scale integration into OSCAR. Such an integration would have to be discussed in more detail once the time comes.
On the long run, a key step towards writing this package is to re-write core algorithm of the existing CYTools in a small and self-contained C++ project. Upon wrapping this code, this functionality can then be made available in Julia
(but also in other languages, such as Python or other large software projects (Macaulay2, Sage,...) or even commercial software such as Mathematica). This approach has the added advantage that large libraries (e.g. CGAL) need not be included. So on the long run, this package should be slim and easily to install.
This project just began. We are currently in the process of initiating the code migration from CYTools. This we hope to yield a first functional Julia
version by fall 2022. Further code optimization (in particular increased performance) is saved for a later stage of this project.
- Install
Julia
on your computer. The latest version can be found here. - Download this development version of
CYTools.jl
. Those interested in contributing should instead clone this repository:
git clone https://github.com/Julia-meets-String-Theory/CYTools.jl.git
- Place your clone/download in a location outside of the
.julia
folder of your home folder. - Finally, register and build
CYTools.jl
as follows:
using Pkg
Pkg.develop(path="path/to/your/CYTools.jl")
Pkg.build("CYTools")
For detailed information about the implemented functionality, please take a look at the most recent documentation.
If you want to report a bug or request a feature, please do it by raising a github issue.
Contributions are highly appreciated. Please notice that:
- Contributions must be done by opening a pull request.
- Pull request must pass a number of checks that are automatically conducted by our test suite, before they can be merged. A further approval by a code owner is appreciated.
- Code is expected to be in agreement with the Oscar style guide.
This software is work in progress of
We use a slack
-channel for general discussions. If you are interested in joining, please reach out to Viraf Mehta via [email protected]
for details.
The work of Martin Bies is supported by SFB-TRR 195 Symbolic Tools in Mathematics and their Application of the German Research Foundation (DFG)
.