jaxvacua.hypergeometric_models.HypergeometricModels#
- class HypergeometricModels#
Bases:
objectStatic registry + factory for the hardcoded one-modulus CY models from arXiv:2306.01059 (quintics, hypergeometrics, etc.). Construct ready-to-use
FluxVacuaFinderinstances at LCS, K-point, or C-point boundaries viabuild().The class itself is never instantiated; all methods are classmethods.
Examples
>>> import jaxvacua as jvc >>> jvc.HypergeometricModels.list() # discover available labels ['447', 'X10', 'X33', ...] >>> m = jvc.HypergeometricModels.build("X33", limit="LCS") >>> m.DW_x(x0, flux) # standard FluxVacuaFinder API
- __init__()#
Methods
__init__()available_limits(label)Return the moduli-space points at which this model has closed-form data.
boundary_data(label, limit)Return the raw K- or C-point boundary parameters for a model (\(\tau\), \(\gamma\), \(\delta\), instanton coefficients, etc.).
build(label[, limit])Construct a
FluxVacuaFinderfor the named model at the given moduli-space point.lcs_data(label)Return the raw LCS-side topological data for a model.
list()Return all registered model labels (hypergeometric + additional).
resolve_prepotential(model_ID, limit)Validate
(model_ID, limit)against the hypergeometric registry and return the closed-form prepotential callable for the requested boundary. Used byperiodsto auto-detect and resolve registered models without the user having to pass an explicitprepotential_input.- classmethod available_limits(label)#
Return the moduli-space points at which this model has closed-form data.
- Parameters:
label (str) – Model label, e.g.
"X33".- Returns:
list[str] – Subset of
["LCS", "Kpoint", "Cpoint"].
- classmethod boundary_data(label, limit)#
Return the raw K- or C-point boundary parameters for a model (\(\tau\), \(\gamma\), \(\delta\), instanton coefficients, etc.).
- Parameters:
label (str) – Model label.
limit (str) –
"Kpoint"or"Cpoint".
- Returns:
dict – Boundary-data fields.
- Raises:
KeyError – If no boundary data is registered for
(label, limit).ValueError – If
limitis not"Kpoint"or"Cpoint".
- classmethod build(label, limit='LCS', **kwargs)#
Construct a
FluxVacuaFinderfor the named model at the given moduli-space point.For
limit="LCS"the factory builds a standardlcs_treefrom(kappa, c2, chi)with no GV invariants — the closed-form LCS prepotential of arXiv:2306.01059 already includes the instanton sum resummed into modular forms.For
limit="Kpoint"or"Cpoint"the factory just forwardsmodel_ID=labelandlimit=toFluxVacuaFinder; theperiods/cssconstructors auto-detect the registry entry and resolve the closed-form prepotential.Extra
**kwargsare forwarded toFluxVacuaFinder(e.g.Q=,gauge_choice=,D3_tadpole=).- Parameters:
label (str) – Model label, e.g.
"X33","X42","X5".limit (str, optional) –
"LCS","Kpoint", or"Cpoint". Defaults to"LCS".**kwargs – Forwarded to
FluxVacuaFinder.
- Returns:
FluxVacuaFinder – A standard finder instance.
- Raises:
KeyError – If
labelis not registered.ValueError – If
limitis not one of the three supported values.NotImplementedError – For X66 at K-point (degenerate \(B_1=0\)).
- classmethod lcs_data(label)#
Return the raw LCS-side topological data for a model.
- Parameters:
label (str) – Model label.
- Returns:
dict – Contains
kappa,c2,chi,alpha,muetc.- Raises:
KeyError – If
labelis not in the registry.
- classmethod list()#
Return all registered model labels (hypergeometric + additional).
- Returns:
list[str] – Sorted labels.
- classmethod resolve_prepotential(model_ID, limit)#
Validate
(model_ID, limit)against the hypergeometric registry and return the closed-form prepotential callable for the requested boundary. Used byperiodsto auto-detect and resolve registered models without the user having to pass an explicitprepotential_input.The
h12 != 1invariant is checked by the caller.- Parameters:
model_ID (str) – Hypergeometric model label (e.g.
"X33").limit (str) –
"Kpoint"or"Cpoint".
- Returns:
callable –
F(X, conj=False)— the closed-form prepotential.- Raises:
ValueError – If
model_IDis not in the registry, or iflimitis not one of{"Kpoint", "Cpoint"}.KeyError – If no boundary data is registered for
(model_ID, limit).NotImplementedError – For
X66at K-point.