Introduction#
StringJAX is a JAX-native ecosystem of Python packages for the systematic computational study of string compactifications. This introduction sketches what the project is, why it exists, and how the member packages divide the work.
The next three chapters fill in the details:
Motivation – why a differentiable, scalable compactification pipeline is worth building, and what kinds of scientific questions it helps answer.
The StringJAX ecosystem – the three publicly released member packages (
jaxvacua,stringforge,jaxpolylog), how they fit together, and where to find each one’s authoritative documentation.Design principles – the technical commitments that bind the ecosystem together (differentiability, modularity, reproducibility, data + code coupling).
The project at a glance#
String theory is one of the best-developed frameworks in which four-dimensional effective field theories can be derived from ultraviolet-complete data. Concretely turning a compactification geometry into a vacuum solution – and a vacuum solution into predictions – typically requires a long chain of algebraic, geometric, and numerical computations: periods, prepotentials, Kähler structures, flux superpotentials, \(F\)-term equations, mass matrices, tadpole charges, stability conditions, ensemble scans. Each step is well-defined. Strung together, they form a pipeline that has historically been split across a patchwork of bespoke scripts and private code.
StringJAX is an attempt to standardise that pipeline. Each step in the chain is implemented as a JAX-traceable function, so that gradients, Hessians, and batched evaluations are available at every intermediate stage. Independent member packages own their physics content but share a common data interface, so that a search performed in one package can be archived, reproduced, and re-analysed by another.
Why “JAX”?
Automatic differentiation, just-in-time compilation, vectorisation, and hardware acceleration are not merely technical conveniences for compactification studies. They directly address the dominant computational cost: evaluating, differentiating, and batching the same EFT primitives over many flux choices, initial conditions, and geometries. A differentiable pipeline turns moduli stabilisation, stability analysis, ensemble scans, and machine-learning surrogates into composable operations on the same set of functions.
What is in the first release#
The first public member packages are:
jaxvacuaThe Type IIB flux-vacuum engine: periods and special geometry, the flux effective theory, vacuum finding, flux bounding, conifold and coni-LCS limits, and reduced (freezer) effective theories.
stringforgeThe data layer: curated Calabi–Yau geometry databases (TDF,
CICY, KKLT) and the persistent vacua vault, served from
HuggingFace and cached locally.
jaxpolylogDifferentiable polylogarithms in JAX, used by jaxvacua to resum
worldsheet-instanton contributions to the prepotential. Designed to
remain numerically stable through arbitrary-order automatic
differentiation.
These three packages can be installed and used independently. StringJAX is the umbrella that pins their version windows and routes new users to the right entry point.
Where to go next#
Motivation – the longer “why”.
The StringJAX ecosystem – the longer “what” and “how they fit”.
Design principles – the longer “how” (technical commitments).
Tutorials – three executable quickstart notebooks, one per public member package.