jaxvacua.cytools_interface#

CYTools interoperability helpers.

Purpose#

Convert CYTools polytopes, triangulations and Calabi-Yau objects into the model-data dictionaries consumed by lcs_tree and provide adapters back from JAXVacua EFT objects to selected CYTools geometry objects.

Main public API#

  • cytools_model_data_init and cytools_instanton_data_init for extracting intersection data, Chern data, cone data and optional Gopakumar-Vafa/Gromov-Witten invariants.

  • Sparse/dense intersection helpers such as compute_intersection_numbers_coo and remove_zeros.

  • Geometry adapters eft_to_poly, eft_to_cy, eft_to_coninop, eft_to_cone and eft_to_facet.

Design notes#

CYTools is an optional but heavy dependency. This module should remain the boundary layer for CYTools-specific objects so the core package can operate on plain dictionaries and lcs_tree instances once model data has been loaded.

When to use this bridge#

Use this module when the starting point is a CYTools polytope, triangulation, Calabi-Yau object, cone, or facet and the next step is a JAXVacua model-data object. If the workflow already has a saved lcs_tree or bundled model data, this bridge is usually not needed.

Data extracted#

The initialisation helpers collect the geometry needed by the LCS and coniLCS pipelines: Hodge numbers, intersection numbers, second Chern data, Mori/Kähler cone information, triangulation and polytope identifiers, and optionally instanton data or conifold candidates when those are available from the CYTools object.

Typical route#

  1. Start from a CYTools geometry object.

  2. Use cytools_model_data_init to build the core model-data dictionary.

  3. Use cytools_instanton_data_init when instanton data should be attached to that dictionary.

  4. Pass the result to lcs_tree.from_dict or to a higher-level model constructor.

jaxvacua.cytools_interface — CYTools input bridge
CYTools-side objects
Polytope
ambient toric data
Triangulation
phase choice
CalabiYau
intersection and Chern data
Cone / facet
Mori and Kähler information
Extraction and normalisation
intersection data
compute_intersection_numbers_coo
remove_zeros
model dictionary
cytools_model_data_init
Hodge, Chern, cone and metadata
instanton data
cytools_instanton_data_init
GV / GW data when available
JAXVacua model construction
lcs_tree and downstream models
lcs_tree.from_dict / lcs_tree.from_cytoolsperiodscssFluxEFT
Round-trip adapters from an EFT
polytope
eft_to_poly
CY
eft_to_cy
conifold curve
eft_to_coninop
basis + curve
cone
eft_to_cone
facet
eft_to_facet

CYTools interface#

cytools_model_data_init(input_data[, ...])

Initializes model data from a CYTools input (Polytope, Triangulation, or CalabiYau). Computes geometric data including intersection numbers, Chern classes, and Kähler cone information. Optionally applies basis transformations and removes specified axes. Saves data to file if requested.

cytools_instanton_data_init(input_data, max_deg)

Initializes instanton data from a CYTools input (Polytope, Triangulation, or CalabiYau). Computes Gopakumar-Vafa and Gromov-Witten invariants up to a specified maximum degree. Optionally applies a basis transformation and removes specified axes from the data. Saves the instanton data to a file if specified.

compute_intersection_numbers_coo(int_nums)

Converts intersection numbers from dense to coo format.

remove_zeros(a[, axis])

Removes zero rows from a numpy array.

Geometry adapters#

eft_to_poly(fluxeft)

Extracts the polytope from the given model.

eft_to_cy(fluxeft)

Returns the Calabi-Yau manifold from the given model.

eft_to_coninop(fluxeft)

Returns the basis transformation and conifold curve from the given model.

eft_to_cone(fluxeft[, timeout, generators])

Extracts the Kähler cone from the given model.

eft_to_facet(fluxeft)

Extracts the facet of the Kähler cone from the given model.