jaxvacua.freezer.ConifoldFreezer#

class ConifoldFreezer(model, conifold_index=0)#

Bases: Freezer

Integrates 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" in model.periods.limit.

  • conifold_index (int) – Index of the conifold modulus in the moduli array. Defaults to 0.

  • 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" in model.periods.limit.

  • conifold_index (int) – Index of the conifold modulus in the moduli array. Defaults to 0.

_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

heavy_indices

Description: Indices of the heavy (conifold) modulus; always a length-1 tuple.

light_indices

Description: Indices of the light moduli (complement of heavy_indices).

n_heavy

Description: Number of heavy moduli.

n_light

Description: Number of light moduli.

ncf

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_x but 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) – If True, uses the no-scale scalar potential \(V = e^K K^{I\bar J} D_I W D_{\bar J}\bar W\). Defaults to True.

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.

Parameters:
  • x_light (Array) – Real coordinates for light moduli and axio-dilaton.

  • fluxes (Array) – Full flux vector.

  • noscale (bool) – If True, uses the no-scale scalar potential. Defaults to True.

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.

Parameters:
  • x_light (Array) – Real coordinates for light moduli and axio-dilaton.

  • fluxes (Array) – Full flux vector.

  • noscale (bool) – If True, uses the no-scale scalar potential. Defaults to True.

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 to False.

  • mode (str) – One of {"manual", "autodiff", "pfv"}. Routes through model.W_log_coeff(..., mode=mode). Defaults to "manual" (closed-form kappa / a_matrix / b_vector + Li assembly).

  • apply_correction (bool) – If True, add the Kähler-covariant correction log_coeff_K_corr to the log coefficient before exponentiating. Defaults to False.

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