jaxvacua.flux_eft#

Flux effective field theory for Type IIB compactifications.

Purpose#

Define FluxEFT, the flux-physics layer above css. It evaluates the Gukov-Vafa-Witten superpotential, F-terms, scalar potential, tadpole and stability data for integer three-form flux backgrounds.

Main public API#

  • FluxEFT: extends css with flux splitting, superpotential, Kähler-covariant derivatives, real-coordinate derivatives, Hessians and mass matrices.

  • Tadpole, ISD and physicality helpers used by the vacuum-search algorithms.

  • Fundamental-domain and monodromy utilities used to compare equivalent solutions.

Design notes#

This module contains the reusable EFT model. Search, sampling and classification workflows live in jaxvacua.flux_vacua_finder and operate directly on this class through inheritance.

Computational graph#

This layer assembles the integer flux background into the GVW superpotential, its covariant F-term derivatives, the no-scale scalar potential, and the D3-tadpole contribution. The defining relations are

\begin{align*} W_{\text{GVW}}(z, \tau;\, \text{flux}) &= \int_X G_3 \wedge \Omega = \bigl(F - \tau H\bigr) \cdot \Pi(z), \\[2pt] D_I W &= \partial_I W + (\partial_I K)\, W, \quad I = (z^i,\, \tau), \\[2pt] V_{\rm ns} &= e^{K}\!\left( g^{i\bar\jmath}\, D_i W\, \overline{D_j W} + (\operatorname{Im}\tau)^{-2} |D_\tau W|^2 \right), \\[2pt] N_{\text{flux}} &= f^T \Sigma\, h, \end{align*}

with \(G_3 = F_3 - \tau H_3\) the complex three-form flux and \(\Sigma\) the symplectic intersection form on \(H^3(X, \mathbb{Z})\). The full supergravity \(-3|W|^2\) contribution can be included by setting noscale=False.

The diagram below splits the inputs into two visually distinct groups: those inherited from the upstream period and complex-structure layers (light grey, solid border) and the external user-supplied flux integers and axio-dilaton (white, dashed border). Public outputs of the layer are highlighted in orange.

jaxvacua.flux_eft.FluxEFT — Computational graph
Inputs (inherited from periods/css  +  external runtime)
Inherited from periods / css
$\Pi(z)$
period vector
$K,\; K_{i\bar\jmath}$
Kähler potential and metric
External (user-supplied at runtime)
flux $(F_3, H_3)$
$\in \mathbb{Z}^{2(h^{1,2}+1)}$
$\tau$
axio-dilaton
Superpotential & F-terms
tadpole  $N_{\rm flux}$
$N_{\rm flux} = f^T \Sigma\, h$ for flux vector $(f,h)$
$\Longrightarrow\; N_{\rm flux} \leq Q_{\rm O3}$ (D3-charge)
FluxEFT.tadpole
$W = (F_3 - \tau H_3) \cdot \Pi(z)$
GVW superpotential: $W = \int_X G_3 \wedge \Omega$ with $G_3 = F_3 - \tau H_3$
FluxEFT.superpotential
$D_I W = \partial_I W + (\partial_I K)\, W$
$I = (z^i,\, \tau)$ — Kähler-covariant derivative on the full sector
$D_I W = 0$ defines a SUSY vacuum
FluxEFT.DW
Scalar potential
$V_{\rm ns} \;=\; e^{K}\, K^{I\bar J}\, D_I W\, \overline{D_J W}$
Default no-scale flux potential on the $(z^i,\tau)$ sector; set noscale=False to include the full supergravity $-3|W|^2$ term
FluxEFT.scalar_potential · FluxEFT.V
Differentials of $V$
$\partial_I V$
Gradient of the scalar potential
(target for gradient-flow vacuum search)
FluxEFT.dV · FluxEFT.dV_x
$\partial_I \partial_J V$
Full Hessian on the moduli + axio-dilaton sector
FluxEFT.hessian · FluxEFT.ddV
$M^2_{IJ}$
Bosonic mass matrix evaluated at $D_I W = 0$,  $m^2 = \operatorname{eig}(M^2)$
FluxEFT.mass_matrix

EFT flux class#

FluxEFT([h12, model_ID, model_type, limit, ...])

A class representing the flux sector in a 4D EFT obtained from Type IIB compactification on orientifolds of CY threefolds with 3-form flux backgrounds.

Superpotential and F-terms#

FluxEFT.superpotential(moduli, tau, fluxes)

Calculates the value of the superpotential for given flux, moduli and axio-dilaton.

FluxEFT.superpotential_gauge_invariant(...)

Calculates the value of the gauge invariant version of the flux superpotential.

FluxEFT.DW(moduli, moduli_c, tau, tau_c, fluxes)

Returns the holomorphic Kähler covariant derivatives of the superpotential with respect to the complex structure moduli \(z^{i}\) and the axio-dilaton \(\tau\).

FluxEFT.DW_z(moduli, moduli_c, tau, tau_c, ...)

Calculates the Kähler covariant derivative of the superpotential \(W\) with respect to the complex structure moduli \(z^{i}\).

FluxEFT.DW_tau(moduli, moduli_c, tau, tau_c, ...)

Calculates the Kähler covariant derivative of the superpotential with respect to the axio-dilaton \(\tau\).

FluxEFT.DW_x(x, fluxes)

Calculates the real and imaginary parts of the \(F\)-term conditions.

FluxEFT.DcDW(moduli, moduli_c, tau, tau_c, ...)

Returns a matrix containing the mixed second Kähler derivatives \(D_{\overline{I}}D_{J}W\).

FluxEFT.DDW(moduli, moduli_c, tau, tau_c, fluxes)

Returns a matrix the second holomorphic Kähler derivatives \(D_I D_J W\) of the superpotential.

FluxEFT.canonical_fterms(moduli, moduli_c, ...)

Returns the canonically normalised \(F\)-term conditions \(F_I,\, F^I\).

Scalar potential#

FluxEFT.scalar_potential(moduli, moduli_c, ...)

Returns the value of the \(F\)-term scalar potential.

FluxEFT.V(moduli, moduli_c, tau, tau_c, fluxes)

Returns the value of the \(F\)-term scalar potential.

FluxEFT.V_x(x, fluxes[, noscale])

Returns the value of the real part of the F-term scalar potential \(V\) for input of the real scalar fields.

FluxEFT.ddV(moduli, moduli_c, tau, tau_c, fluxes)

Returns the second derivatives \((\partial_I\partial_J V,\,\partial_I\partial_{\bar J}V)\) of the \(F\)-term scalar potential.

FluxEFT.ddV_x(x, fluxes[, noscale])

Returns the second derivatives of the F-term scalar potential \(V\) with respect to the real scalar fields for real inputs.

FluxEFT.mass_matrix(moduli, moduli_c, tau, ...)

Returns the mass matrix after canonical normalisation of the kinetic terms.

FluxEFT.hessian(moduli, moduli_c, tau, ...)

Returns the Hessian of the scalar potential.

ISD condition#

FluxEFT.ISD_condition(moduli, moduli_c, tau, ...)

Checks whether the fluxes satisfy the ISD condition \(\star G_3=\text{i}G_3\).

FluxEFT.ISD_matrix(moduli, moduli_c)

Computes the value of the ISD-matrix \(\mathcal{M}\).

FluxEFT.projection_fluxes(moduli, tau, fluxes)

Computes the Hodge decomposition of the 3-form flux \(G_3 = F_3 - \tau H_3\) into its \((p,q)\)-components on the Calabi-Yau threefold.

Flux utilities#

FluxEFT.map_to_fd_tau(tau, fluxes[, ...])

Map of the axio-dilaton value and the flux vector to the fundamental domain (FD) of \(\text{SL}(2,\mathbb{Z})\).

FluxEFT.tadpole(fluxes)

Calculates the D3-charge for given fluxes.

FluxEFT.flux_to_pfv(flux)

Returns M- and K-vector specifying PFV from full flux vector.

FluxEFT.pfv_to_flux(M, K)

Returns full flux vector from M- and K-vector specifying PFV.

FluxEFT.pfv_to_moduli(M, K, tau)

Returns values of the complex structure moduli at the level of the PFV.