jaxvacua.freezer.ConifoldFreezer#
- class ConifoldFreezer(model, conifold_index=0)#
Bases:
FreezerIntegrates out the conifold modulus \(z_{\text{cf}}\) (index 0) in coniLCS models.
Near the conifold locus, the conifold modulus acquires a parametrically large mass from the flux superpotential. Its leading-order EOM gives
\[z_{\text{cf}} = -\frac{1}{2\pi i} \exp\!\Bigl(-\frac{2\pi i\,\widetilde{W}_1}{n_{\text{cf}}(M_1 - \tau H_1)}\Bigr)\]where \(\widetilde{W}_1\) is the effective superpotential contribution from the bulk moduli and \(n_{\text{cf}}\) is the conifold degree.
- Parameters:
model (
Any) – A flux EFT model with"coniLCS"inmodel.periods.limit.conifold_index (
int) – Index of the conifold modulus in the moduli array. Defaults to0.ncf (int, optional) – Conifold degree. Defaults to
2.
- __init__(model, conifold_index=0)#
Initialise the ConifoldFreezer.
- Parameters:
model (
Any) – A flux EFT model with"coniLCS"inmodel.periods.limit.conifold_index (
int) – Index of the conifold modulus in the moduli array. Defaults to0.
- _conifold_index#
Stored index of the conifold modulus.
- Type:
int
Methods
DW_light(z_light, z_light_c, tau, tau_c, ...)Covariant derivatives \(D_i W\) for the light moduli (+ \(D_\tau W\)) with the conifold modulus on-shell. General basis: project the full \(D_i W\) onto the bulk directions, \(D_a W = D_i W\, \text{bulk\_embedding}^{i}{}_{a}\) (the conifold component \(D_i W\,e_q^i = \partial_{z_{\rm cf}}W \approx 0\) on-shell).
DW_x_light(x_light, fluxes, **kwargs)Gradient of the superpotential \(\partial_{x^a} W\) in real coordinates for the light moduli, with heavy moduli on-shell.
V_x_light(x_light, fluxes[, noscale])Scalar potential \(V\) evaluated at the light-field coordinates, with heavy moduli on-shell.
__init__(model[, conifold_index])Initialise the ConifoldFreezer.
dDW_x_light(x_light, fluxes, **kwargs)Hessian \(\partial_{x^a}\partial_{x^b} W\) in real coordinates for the light moduli.
dV_x_light(x_light, fluxes[, noscale])Gradient of the scalar potential \(\nabla_\phi V\) with respect to the real light-field coordinates, with heavy moduli on-shell.
ddV_x_light(x_light, fluxes[, noscale])Hessian of the scalar potential \(\partial_{\phi^\alpha}\partial_{\phi^\beta} V\) with respect to the real light-field coordinates, with heavy moduli on-shell.
reconstruct_full_moduli(z_light, tau, ...)Reconstruct the full modulus vector from the light (bulk) moduli with the conifold modulus on-shell. Aligned: index scatter (base class). General: \(z_{\rm full} = z_{\rm cf}\,e_q + \text{bulk\_embedding}\,z_{\rm light}\).
solve_heavy(z_light, tau, fluxes[, conj, ...])Solve for \(z_{\text{cf}}\) from its leading-order EOM by delegating to
jaxvacua.conifold.zcf_solver.compute_zcf()(the unified complex-coord dispatcher attached to the model).superpotential(z_light, tau, fluxes, **kwargs)Superpotential of the reduced theory.
Attributes
Description: Indices of the heavy (conifold) modulus; always a length-1 tuple.
Description: Indices of the light moduli (complement of
heavy_indices).Description: Number of heavy moduli.
Description: Number of light moduli.
Description: Conifold degree \(n_{\text{cf}}\), sourced from
self.model.lcs_tree.conifold.ncf(single source of truth).- DW_light(z_light, z_light_c, tau, tau_c, fluxes, **kwargs)#
Covariant derivatives \(D_i W\) for the light moduli (+ \(D_\tau W\)) with the conifold modulus on-shell. General basis: project the full \(D_i W\) onto the bulk directions, \(D_a W = D_i W\, \text{bulk\_embedding}^{i}{}_{a}\) (the conifold component \(D_i W\,e_q^i = \partial_{z_{\rm cf}}W \approx 0\) on-shell).
- DW_x_light(x_light, fluxes, **kwargs)#
Gradient of the superpotential \(\partial_{x^a} W\) in real coordinates for the light moduli, with heavy moduli on-shell.
This is the analogue of
model.DW_xbut restricted to the light degrees of freedom.- Parameters:
x_light (
Array) – Real variables for light moduli and axio-dilaton.fluxes (
Array) – Full flux vector.
- Returns:
Array – Real gradient restricted to light directions.
- Return type:
Array
- V_x_light(x_light, fluxes, noscale=True, **kwargs)#
Scalar potential \(V\) evaluated at the light-field coordinates, with heavy moduli on-shell.
- Parameters:
x_light (
Array) – Real coordinates for light moduli and axio-dilaton.fluxes (
Array) – Full flux vector.noscale (
bool) – IfTrue, uses the no-scale scalar potential \(V = e^K K^{I\bar J} D_I W D_{\bar J}\bar W\). Defaults toTrue.
- Returns:
float – Value of \(V\) with heavy moduli at their on-shell values.
- Return type:
float
- dDW_x_light(x_light, fluxes, **kwargs)#
Hessian \(\partial_{x^a}\partial_{x^b} W\) in real coordinates for the light moduli.
- Parameters:
x_light (
Array) – Real variables for light moduli and axio-dilaton.fluxes (
Array) – Full flux vector.
- Returns:
Array – Hessian restricted to light directions.
- Return type:
Array
- dV_x_light(x_light, fluxes, noscale=True, **kwargs)#
Gradient of the scalar potential \(\nabla_\phi V\) with respect to the real light-field coordinates, with heavy moduli on-shell.
Details
Let \(\phi^\alpha = (a^1, v^1, \ldots, a^{n_{\rm light}}, v^{n_{\rm light}}, c_0, s)\) denote the real light-field coordinates, where \(z^i = a^i + \mathrm{i}\,v^i\) and \(\tau = c_0 + \mathrm{i}\,s\). This function returns the restriction
\[\nabla_\phi V \big|_{\phi^\alpha} = \partial_{\phi^\alpha} V(x_{\rm full}(\phi))\]where \(x_{\rm full}(\phi)\) substitutes the on-shell heavy moduli via
_real_light_to_full().- Parameters:
x_light (
Array) – Real coordinates for light moduli and axio-dilaton.fluxes (
Array) – Full flux vector.noscale (
bool) – IfTrue, uses the no-scale scalar potential. Defaults toTrue.
- Returns:
Array – Gradient \(\partial_{\phi^\alpha} V\), restricted to
light directions, of shape `` (2 * n_light + 2,)
- Return type:
Array
- ddV_x_light(x_light, fluxes, noscale=True, **kwargs)#
Hessian of the scalar potential \(\partial_{\phi^\alpha}\partial_{\phi^\beta} V\) with respect to the real light-field coordinates, with heavy moduli on-shell.
Details
Using the same real light-field coordinates \(\phi^\alpha = (a^1, v^1, \ldots, a^{n_{\rm light}}, v^{n_{\rm light}}, c_0, s)\) as in
dV_x_light(), this function returns the block of the full Hessian restricted to the light directions:\[(\nabla\nabla V)_{\alpha\beta} = \partial_{\phi^\alpha}\partial_{\phi^\beta} V\]with heavy moduli substituted by their on-shell values.
- Parameters:
x_light (
Array) – Real coordinates for light moduli and axio-dilaton.fluxes (
Array) – Full flux vector.noscale (
bool) – IfTrue, uses the no-scale scalar potential. Defaults toTrue.
- Returns:
Array – Hessian block restricted to light directions, of shape
`` (2 * n_light + 2, 2 * n_light + 2)
- Return type:
Array
- property heavy_indices: Tuple[int, ...]#
Description: Indices of the heavy (conifold) modulus; always a length-1 tuple.
- property light_indices: Tuple[int, ...]#
Description: Indices of the light moduli (complement of
heavy_indices).
- property n_heavy: int#
Description: Number of heavy moduli.
- property n_light: int#
Description: Number of light moduli.
- property ncf: int#
Description: Conifold degree \(n_{\text{cf}}\), sourced from
self.model.lcs_tree.conifold.ncf(single source of truth).
- reconstruct_full_moduli(z_light, tau, fluxes, **kwargs)#
Reconstruct the full modulus vector from the light (bulk) moduli with the conifold modulus on-shell. Aligned: index scatter (base class). General: \(z_{\rm full} = z_{\rm cf}\,e_q + \text{bulk\_embedding}\,z_{\rm light}\).
- solve_heavy(z_light, tau, fluxes, conj=False, mode='manual', apply_correction=False)#
Solve for \(z_{\text{cf}}\) from its leading-order EOM by delegating to
jaxvacua.conifold.zcf_solver.compute_zcf()(the unified complex-coord dispatcher attached to the model).- Parameters:
z_light (
Array) – Bulk (light) moduli values.tau (
complex) – Axio-dilaton.fluxes (
Array) – Full flux vector.conj (
bool) – Conjugate conventions. Defaults toFalse.mode (
str) – One of{"manual", "autodiff", "pfv"}. Routes throughmodel.W_log_coeff(..., mode=mode). Defaults to"manual"(closed-formkappa/a_matrix/b_vector+Liassembly).apply_correction (
bool) – IfTrue, add the Kähler-covariant correctionlog_coeff_K_corrto the log coefficient before exponentiating. Defaults toFalse.
- Returns:
Array – Value of \(z_{\text{cf}}\) (length-1 array).
- Return type:
Array
- superpotential(z_light, tau, fluxes, **kwargs)#
Superpotential of the reduced theory.
- Parameters:
z_light (
Array) – Light moduli values.tau (
complex) – Axio-dilaton.fluxes (
Array) – Full flux vector.
- Returns:
complex – \(W(z_{\text{light}}, \tau)\) with heavy moduli on-shell.
- Return type:
complex