Getting started¤
cymyc
is a library for numerical differential geometry on Calabi-Yau manifolds written in JAX, enabling performant:
- Approximations of useful tensor fields;
- Computations of curvature-related quantities;
- Investigations of the complex structure moduli space;
in addition to many other features.
If you are new to Jax and want to get your hands dirty, then start with this example.
Installation¤
First, clone the project:
git clone git@github.com:Justin-Tan/cymyc.git
cd cymyc
Next, with a working Python installation, create a new virtual environment and run an editable install, which permits local development.
pip install --upgrade pip
python -m venv /path/to/venv
source /path/to/venv/bin/activate
python -m pip install -e .
Tip
This library is device-agnostic. That being said, autodiff routines will usually be significantly faster if the user has access to a GPU. If this applies to you, follow the Jax GPU installation instructions to enable GPU support.
Contributing / Development¤
This library is under active development, and the current state is but the leading order approximation. Please open an issue / pull request if you encounter unexpected behaviour. Additionally, feel free to get in touch anytime to discuss the project or help us guide development.
Citation¤
If you found this library to be useful in academic work, then please cite: (arxiv).
@article{cymyc,
author = {Butbaia, Giorgi, Tan, Justin, ...},
title = {\textsf{cymyc}: {\it A \textsf{{JAX}} package for {C}alabi--{Y}au
{M}etrics {Y}ukawas and {C}urvature}},
eprint = "2410.19728",
archivePrefix = "arXiv",
primaryClass = "hep-th",
month = "10",
year = "2024"
}
The source code is available on GitHub.
Related work¤
This codebase was used to generate the 'experimental' results for the following publications:
- Curvature on Calabi-Yau manifolds - arxiv:2211.90801.
- Physical Yukawa couplings in heterotic string compactifications - arxiv:2401.15078.
- Precision string phenomenology - arxiv:2407.13836.
Related libraries / Acknowledgements¤
We would like to acknowledge the authors of the cymetric library (Larfors et. al. (2022)), whose excellent work this library builds upon.
Numerical metrics on Calabi-Yaus
- cymetric - Python library for studying Calabi-Yau metrics.
- cyjax - Donaldson's algorithm for Calabi-Yau metrics in Jax.
- MLGeometry - Machine learning Calabi-Yau metrics
JAX ecosystem