jaxvacua.lcs#

Calabi-Yau model-data container for large-complex-structure workflows.

Purpose#

Define lcs_tree, the JAX-pytree data container that gathers the topological, cone, enumerative and conifold data needed to build periods and flux EFTs.

Main public API#

  • coo_to_intnums: convert sparse symmetric intersection-number data to a dense tensor.

  • lcs_tree: stores Hodge data, intersection numbers, Chern data, Gopakumar-Vafa/Gromov-Witten invariants, cone information, basis changes, conifold descriptors and metadata.

  • Constructors and import helpers for dictionaries, saved model files and CYTools-derived geometries.

Design notes#

lcs_tree is the shared geometry object passed into periods, css, FluxEFT and search classes. It should remain lightweight to flatten and stable across JAX transformations.

Role in the package#

lcs_tree is the shared model-data container for large-complex-structure workflows. It carries the geometry and instanton data consumed by period objects, complex-structure sector helpers, flux EFTs, samplers, and vacuum finders. Typical fields include intersection numbers, Chern data, cone data, GV/GW invariants, basis changes, conifold descriptors, and small pieces of metadata needed to rebuild a model consistently.

Construction routes#

  • from_dict builds a tree from already assembled model data.

  • from_file loads a saved local model-data file.

  • from_cytools starts from CYTools-derived geometry and normalises it into the data layout expected by JAXVacua.

Data lifecycle#

An lcs_tree instance is the place where raw geometry is loaded, normalised, and kept together with any basis-change or conifold information. Downstream classes can then reuse the same prepotential and cone data without repeating the conversion step. The container remains pytree-friendly, so it can be passed through JAX-aware workflows alongside numerical arrays.

LCS-tree class#

lcs_tree([h11, h12, Q, intnums, ...])

Pytree structure to hold on to information about a Calabi-Yau model, including intersection numbers, Gopakumar-Vafa/Gromov-Witten invariants, cone data, and conifold curve information.

Constructors#

lcs_tree.from_dict(d)

Creates a LCS-tree instance from a dictionary.

lcs_tree.from_file(file[, maximum_degree, ...])

Creates a lcs_tree instance from a zipped pickle file.

lcs_tree.from_cytools(cy[, basis_change, ...])

Creates a LCS-tree instance from a CYTools Calabi-Yau object.

Conversion helpers#

coo_to_intnums(i, j, k, v, h11)

Converts intersection numbers from COO format to a dense 3D array format.