jaxvacua.conifold#
Conifold subsystem public interface.
Purpose#
Expose the conifold-specific data structures, structural helpers,
prepotential functions and conifold-modulus solvers used by the main
periods, css and FluxEFT classes.
Main public API#
Conifoldandfind_conifoldsfor representing and discovering conifold limits.Basis and flux helpers from
conifold_utilssuch asget_basis_change,compute_a_matrix,get_bulk_embedding,get_bulk_projection,conifold_fluxesanddelete_coni_index.coniLCS prepotential functions from
coniLCS_prepotential.z_cfphysics helpers fromzcf_solversuch asW_log_coeff,compute_zcfandzcf_handling.
Design notes#
The _ConifoldGated descriptor exposes attached methods only for coniLCS
limits. Consumer modules attach the methods they need locally, which avoids
load-order coupling between this subpackage and the main physics classes.
Subpackage layout#
The conifold subsystem is organised into four focused modules. This umbrella page collects the public surface; each submodule has its own dedicated page.
Typical coniLCS workflow#
Find or choose conifold data with
find_conifolds,Conifold, and the projection or basis helpers inconifold_utils.Use the coniLCS prepotential pieces through the attached period and complex-structure-sector methods.
Compute the heavy conifold modulus with the
zcf_solverfunctions or the corresponding methods attached toFluxEFT.Use
jaxvacua.freezer.ConifoldFreezerwhen the conifold modulus should be integrated out and the remaining light-field EFT should be evaluated.
Choosing a subpage#
jaxvacua.conifold.coni documents conifold descriptors and discovery.
jaxvacua.conifold.conifold_utils covers basis changes, projections, lattice helpers, and conifold flux manipulations.
jaxvacua.conifold.coniLCS_prepotential documents the prepotential pieces used in the coniLCS limit.
jaxvacua.conifold.zcf_solver documents the
z_cfequation of motion and the bulk effective-theory building blocks.
_ConifoldGated — gating descriptor#
The _ConifoldGated descriptor surfaces a method only when the
instance’s limit lies in the coniLCS family
(coniLCS / coniLCS_series / coniLCS_bulk); otherwise it raises
AttributeError so hasattr() returns False. Used by
periods.py / css.py / flux_eft.py to attach the conifold
methods only when meaningful.
- class _ConifoldGated(fn)#
Class-level descriptor: surfaces a method only when the instance’s limit is in the coniLCS family. Otherwise raises AttributeError so hasattr() returns False.
Works for periods (reads instance.limit directly) and for css / FluxEFT (which delegate to instance.periods.limit).
Method-attachment lists#
Single source of truth for which conifold methods are attached to which
class; consumed by the setattr blocks at the bottom of
periods.py / css.py / flux_eft.py.
_PERIODS_METHODS— methods attached tojaxvacua.periods.periods(per-period prepotential family +delete_coni_index)._CSS_METHODS— methods attached tojaxvacua.css.css(per-modulus prepotential +dK_cf_bulk)._FLUXEFT_METHODS— methods attached tojaxvacua.flux_eft.FluxEFT(z_cf solver + bulk-EFT building blocks +conifold_fluxes).
Adding a new attached method is a one-place edit: define the function in
the appropriate submodule, then append its name to the relevant list in
conifold/__init__.py. No edit to the consumer module is required.
Public re-exports#
Every public symbol from the four submodules is re-exported here, so user
code can write from jaxvacua.conifold import find_conifolds, Conifold,
compute_zcf, … without reaching into the submodule namespaces.
See also#
General-purpose lattice helpers —
extended_euclidean,orthogonal_lattice— live in jaxvacua.util (they have non- conifold callers and are re-exported here only for convenience).jaxvacua.freezer —
jaxvacua.freezer.ConifoldFreezerconsumescompute_zcfandzcf_handlingfrom this subpackage to provide the light-field EFT interface (DW_x_light,dDW_x_light).