jaxvacua.flux_eft.FluxEFT#
- class FluxEFT(h12=None, model_ID=None, model_type='KS', limit='LCS', maximum_degree=0, mirror_cy=None, model_data=None, lcs_tree_input=None, model_file='', use_cytools=False, basis_change=None, ncf=None, conifold_curve=None, conifold_basis=True, grading_vector=None, period_input=None, prepotential_input=None, Q=None, gauge_choice=1 + 0j, prange=5, use_gvs=True, save_file=False, **kwargs)#
Bases:
cssA class representing the flux sector in a 4D EFT obtained from Type IIB compactification on orientifolds of CY threefolds with 3-form flux backgrounds.
- __init__(h12=None, model_ID=None, model_type='KS', limit='LCS', maximum_degree=0, mirror_cy=None, model_data=None, lcs_tree_input=None, model_file='', use_cytools=False, basis_change=None, ncf=None, conifold_curve=None, conifold_basis=True, grading_vector=None, period_input=None, prepotential_input=None, Q=None, gauge_choice=1 + 0j, prange=5, use_gvs=True, save_file=False, **kwargs)#
A class representing the flux sector in a 4D EFT obtained from Type IIB compactification on CY threefolds with 3-form flux backgrounds.
- Parameters:
h12 (
int|None) – The number of moduli for the compactified geometry.model_type (
str) – The type of manifold considered for the compactification. Currently,"KS"and"CICY"are available.model_ID (
int|None) – ID specifying a certain model.limit (
str) – String identifying the type of periods to be considered. Currently, only"LCS"is available.model_data (
dict|None) – Contains model data like triple intersection numbers etc.instanton_data (list) – List of GV and GW invariants.
maximum_degree (
int) – Maximum degree used for the instanton sum.use_cytools (
bool) – Whether or not to use CYTools to compute topological data of Calabi-Yau.mirror_cy (
Any|None) – Mirror Calabi-Yau threefold.basis_change (
Array|None) – Basis transformation to be applied to topological data of Calabi-Yau.grading_vector (
Array|None) – Grading vector to be used for the GV computation.period_input (
Optional[Callable]) – Input for periods.prepotential_input (
Optional[Callable]) – Input for prepotential.gauge_choice (
complex) – Gauge choice parameter.save_file (
bool) – Save files for new models. Defaults toFalse.**kwargs (
Any) – Additional keyword arguments.
- D3_tadpole#
Maximum allowed D3-tadpole.
- Type:
int
- n_fluxes#
Number of fluxes.
- Type:
int
Methods
A(moduli, moduli_c)Returns the value of the mirror dual Calabi-Yau volume.
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.
DDW_SUSY(moduli, moduli_c, tau, tau_c, fluxes)Returns a matrix containing the second holomorphic Kähler derivative of the superpotential assuming that the F-flatness conditions \(D_{i}W=D_{\tau}W=0\) are satisfied.
DDW_general(moduli, moduli_c, tau, tau_c, fluxes)Returns the second Kähler covariant derivatives \(D_I D_J W\) of the superpotential \(W\) with respect to the axio-dilaton \(\tau\) and the complex structure moduli \(z^{i}\).
DDW_matrix(moduli, moduli_c, tau, tau_c, fluxes)Returns the matrix of masses for chiral fermions.
DDW_matrix_SUSY(moduli, moduli_c, tau, ...)Returns the matrix of second Kähler derivatives of the superpotential assuming that the F-term conditions are satisfied for all fields.
DDW_matrix_general(moduli, moduli_c, tau, ...)Returns the matrix of second Kähler derivatives of the superpotential.
DDW_tau_ctau(moduli, moduli_c, tau, tau_c, ...)Returns the Kähler covariant derivative \(D_{\overline{\tau}}D_{\tau}W\) of the \(F\)-term \(D_{\tau}W\) with respect to the complex conjugate axio-dilaton \(\overline{\tau}\).
DDW_tau_cz(moduli, moduli_c, tau, tau_c, fluxes)Returns the Kähler covariant derivative \(D_{\overline{z}^i}D_{\tau}W\) of the \(F\)-term \(D_{\tau}W\) with respect to the complex conjugate complex structure moduli \(\overline{z}^i\).
DDW_tau_tau(moduli, moduli_c, tau, tau_c, fluxes)Returns the Kähler covariant derivative \(D_{\tau}D_{\tau}W\) of the \(F\)-term \(D_{\tau}W\) with respect to the axio-dilaton \(\tau\).
DDW_tau_z(moduli, moduli_c, tau, tau_c, fluxes)Returns the Kähler covariant derivative \(D_{z^i}D_{\tau}W\) of the \(F\)-term \(D_{\tau}W\) with respect to the complex structure moduli \(z^i\).
DDW_z_ctau(moduli, moduli_c, tau, tau_c, fluxes)Returns the Kähler covariant derivative \(D_{\overline{\tau}}D_{z^j}W\) of the \(F\)-term \(D_{z^j}W\) with respect to the complex conjugate axio-dilaton \(\overline{\tau}\).
DDW_z_cz(moduli, moduli_c, tau, tau_c, fluxes)Returns the Kähler covariant derivative \(D_{\overline{z}^i}D_{z^j}W\) of the \(F\)-term \(D_{z^j}W\) with respect to the complex conjugate complex structure moduli \(\overline{z}^i\).
DDW_z_tau(moduli, moduli_c, tau, tau_c, fluxes)Returns the Kähler covariant derivative \(D_{\tau}D_{z^j}W\) of the \(F\)-term \(D_{z^j}W\) with respect to the axio-dilaton \(\tau\).
DDW_z_z(moduli, moduli_c, tau, tau_c, fluxes)Returns the Kähler covariant derivative \(D_{z^i}D_{z^j}W\) of the \(F\)-term \(D_{z^j}W\) with respect to the complex structure moduli \(z^i\).
DW(moduli, moduli_c, tau, tau_c, fluxes[, conj])Returns the holomorphic Kähler covariant derivatives of the superpotential with respect to the complex structure moduli \(z^{i}\) and the axio-dilaton \(\tau\).
DW_tau(moduli, moduli_c, tau, tau_c, fluxes)Calculates the Kähler covariant derivative of the superpotential with respect to the axio-dilaton \(\tau\).
DW_x(x, fluxes)Calculates the real and imaginary parts of the \(F\)-term conditions.
DW_z(moduli, moduli_c, tau, tau_c, fluxes[, ...])Calculates the Kähler covariant derivative of the superpotential \(W\) with respect to the complex structure moduli \(z^{i}\).
DcDW(moduli, moduli_c, tau, tau_c, fluxes[, ...])Returns a matrix containing the mixed second Kähler derivatives \(D_{\overline{I}}D_{J}W\).
F(moduli[, conj])Computes the pre-potential for given values of the moduli.
F_LCS(moduli[, conj])Calculates the value of the LCS prepotential in terms of the complex structure moduli \(z^{i}\).
F_LCS_poly(moduli[, conj])Computes the polynomial contribution \(F_{\mathrm{poly}}\) to the LCS prepotential \(F_{\mathrm{LCS}}\) in terms of the complex structure moduli \(z^i\).
F_inst(moduli[, conj])Returns the instanton part \(F_{\mathrm{inst}}\) of the LCS prepotential \(F_{\mathrm{LCS}}\) in terms of the complex structure moduli \(z^i\).
H(moduli, moduli_c, tau, tau_c, fluxes[, ...])Returns the Hessian of the scalar potential.
ISD_condition(moduli, moduli_c, tau, tau_c, ...)Checks whether the fluxes satisfy the ISD condition \(\star G_3=\text{i}G_3\).
ISD_matrix(moduli, moduli_c)Computes the value of the ISD-matrix \(\mathcal{M}\).
K(moduli, moduli_c, tau, tau_c)Returns the value of the Kähler potential.
M(moduli, moduli_c)Computes the value of the ISD-matrix \(\mathcal{M}\).
N(moduli, moduli_c[, conj])Computes the value of the gauge kinetic matrix \(\mathcal{N}\).
V(moduli, moduli_c, tau, tau_c, fluxes[, ...])Returns the value of the \(F\)-term scalar potential.
V_tilde(moduli, moduli_c)Returns the value of the mirror dual Calabi-Yau volume.
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.
W(moduli, tau, fluxes[, conj, normalise])Calculates the value of the superpotential for given flux, moduli and axio-dilaton.
W0(moduli, tau, fluxes[, conj, normalise])Calculates the value of the gauge invariant version of the flux superpotential.
__init__([h12, model_ID, model_type, limit, ...])A class representing the flux sector in a 4D EFT obtained from Type IIB compactification on CY threefolds with 3-form flux backgrounds.
apply_monodromy(moduli, fluxes, n)Apply a monodromy shift \(z^a \to z^a + n^a\) to the moduli and transform the fluxes accordingly via the monodromy matrix \(M(n)\).
canonical_fterms(moduli, moduli_c, tau, ...)Returns the canonically normalised \(F\)-term conditions \(F_I,\, F^I\).
christoffel_symbols(moduli, moduli_c, tau, tau_c)Returns the Christoffel symbols \(\Gamma^E_{AC}\) of the Levi-Civita connection on the Kähler moduli space.
compute_tau_vev(moduli, flux)Computes the value of the axio-dilaton \(\tau\) from the fluxes and complex structure moduli as a solution to the corresponding \(F\)-term condition \(D_{\tau}W=0\).
conifold_monodromy_matrix([conifold_curve, ...])Picard-Lefschetz monodromy matrix around a conifold singularity where a 3-cycle \(\gamma = \sum_a c_a A^a\) shrinks to zero.
dDW(moduli, moduli_c, tau, tau_c, fluxes[, conj])Returns the holomorphic derivative \(\partial_{I}D_{J}W\) of the \(F\)-terms \(D_{J}W\) with respect to the complex structure moduli \(z^i\) and the axio-dilaton \(\tau\).
dDW_c(moduli, moduli_c, tau, tau_c, fluxes)Returns the holomorphic derivative \(\partial_{\overline{I}}D_{J}W\) of the \(F\)-terms \(D_{J}W\) with respect to the complex conjugate complex structure moduli \(\overline{z}^i\) and the axio-dilaton \(\overline{\tau}\).
dDW_ctau(moduli, moduli_c, tau, tau_c, fluxes)Returns the holomorphic derivative \(\partial_{\overline{\tau}}D_{J}W\) of the \(F\)-term \(D_{J}W\) with respect to the complex conjugate axio-dilaton \(\overline{\tau}\).
dDW_cz(moduli, moduli_c, tau, tau_c, fluxes)Returns the holomorphic derivative \(\partial_{\overline{z}^i}D_{J}W\) of the \(F\)-term \(D_{J}W\) with respect to the complex conjugate complex structure moduli \(\overline{z}^i\).
dDW_real(moduli, tau, fluxes)Returns the Jacobian \(\partial_{\phi^\alpha}(D_J W)\) of the \(F\)-terms with respect to the real scalar fields \(\phi^\alpha = (a^i, v^i, c_0, s)\).
dDW_tau(moduli, moduli_c, tau, tau_c, fluxes)Returns the holomorphic derivative \(\partial_{\tau}D_{J}W\) of the \(F\)-terms \(D_{J}W\) with respect to the the axio-dilaton \(\tau\).
dDW_tau_ctau(moduli, moduli_c, tau, tau_c, ...)Returns the holomorphic derivative \(\partial_{\overline{\tau}}D_{\tau}W\) of the \(F\)-term \(D_{\overline{\tau}}W\) with respect to the complex conjugate axio-dilaton \(\overline{\tau}\).
dDW_tau_cz(moduli, moduli_c, tau, tau_c, fluxes)Returns the holomorphic derivative \(\partial_{\overline{z}^i}D_{\tau}W\) of the \(F\)-term \(D_{\tau}W\) with respect to the complex conjugate complex structure moduli \(\overline{z}^i\).
dDW_tau_tau(moduli, moduli_c, tau, tau_c, fluxes)Returns the holomorphic derivative \(\partial_{\tau}D_{\tau}W\) of the \(F\)-term \(D_{\tau}W\) with respect to the axio-dilaton \(\tau\).
dDW_tau_z(moduli, moduli_c, tau, tau_c, fluxes)Returns the holomorphic derivative \(\partial_{z^i}D_{\tau}W\) of the \(F\)-term \(D_{\tau}W\) with respect to the complex structure moduli \(z^i\).
dDW_x(x, fluxes)Returns the first derivatives of the F-term conditions by differentiating with respect to the real fields.
dDW_z(moduli, moduli_c, tau, tau_c, fluxes)Returns the holomorphic derivative \(\partial_{z^i}D_{J}W\) of the \(F\)-terms \(D_{J}W\) with respect to the complex structure moduli \(z^i\).
dDW_z_ctau(moduli, moduli_c, tau, tau_c, fluxes)Returns the holomorphic derivative \(\partial_{\overline{\tau}}D_{z^j}W\) of the \(F\)-term \(D_{z^j}W\) with respect to the complex conjugate axio-dilaton \(\overline{\tau}\).
dDW_z_cz(moduli, moduli_c, tau, tau_c, fluxes)Returns the holomorphic derivative \(\partial_{\overline{z}^i}D_{z^j}W\) of the \(F\)-term \(D_{z^j}W\) with respect to the complex conjugate complex structure moduli \(\overline{z}^i\).
dDW_z_tau(moduli, moduli_c, tau, tau_c, fluxes)Returns the holomorphic derivative \(\partial_{\tau}D_{z^j}W\) of the \(F\)-term \(D_{z^j}W\) with respect to the axio-dilaton \(\tau\).
dDW_z_z(moduli, moduli_c, tau, tau_c, fluxes)Returns the holomorphic derivative \(\partial_{z^i}D_{z^j}W\) of the \(F\)-term \(D_{z^j}W\) with respect to the complex structure moduli \(z^i\).
dF(moduli[, conj])Computes the holomorphic derivative \(\partial_{z^i} F\) of the prepotential \(F\) for given values of the moduli.
dGamma(moduli, moduli_c, tau, tau_c)Returns the holomorphic derivative of the Christoffel symbols \(\partial_B \Gamma^E_{AC}\).
dIKM_c(moduli, moduli_c, tau, tau_c)Returns the anti-holomorphic derivative of the inverse Kähler metric \(\partial_{\bar{B}} K^{I\bar{J}}\).
dK(moduli, moduli_c, tau, tau_c)Returns the holomorphic derivative \(\partial_I K\) of the Kähler potential \(K\) with respect to the complex structure moduli \(z^{i}\) and the axio-dilaton \(\tau\).
dK_c(moduli, moduli_c, tau, tau_c)Returns the holomorphic derivative \(\partial_{\overline{I}} K\) of the Kähler potential \(K\) with respect to the complex conjugate complex structure moduli \(\overline{z}^{i}\) and the axio-dilaton \(\overline{\tau}\).
dK_ctau(moduli, moduli_c, tau, tau_c)Returns the anti-holomorphic derivative \(\partial_{\overline{\tau}}K\) of the Kähler potential \(K\) with respect to the conjugate axio-dilaton \(\overline{\tau}\).
dK_cz(moduli, moduli_c, tau, tau_c)Returns the anti-holomorphic derivative \(\partial_{\overline{z}^i}K\) of the Kähler potential \(K\) with respect to the conjugate complex structure moduli \(\overline{z}^i\).
dK_tau(moduli, moduli_c, tau, tau_c)Returns the holomorphic derivative \(\partial_{\tau}K\) of the Kähler potential \(K\) with respect to the axio-dilaton \(\tau\).
dK_z(moduli, moduli_c, tau, tau_c)Returns the holomorphic derivative \(\partial_{z^i}K\) of the Kähler potential \(K\) with respect to the complex structure moduli \(z^i\).
dM(moduli, moduli_c)Returns the holomorphic derivative \(\partial_{z^i}\mathcal{M}\) of the ISD-matrix \(\mathcal{M}\) with respect to the complex structure moduli \(z^i\).
dM_X(moduli, moduli_c)Returns the holomorphic derivative \(\partial_{X^I}\mathcal{M}\) of the ISD-matrix \(\mathcal{M}\) with respect to the periods \(X^I\).
dM_c(moduli, moduli_c)Returns the anti-holomorphic derivative \(\partial_{\overline{z}^i}\mathcal{M}\) of the ISD-matrix \(\mathcal{M}\) with respect to the complex conjugate complex structure moduli \(\overline{z}^i\).
dM_cX(moduli, moduli_c)Returns the anti-holomorphic derivative \(\partial_{\overline{X}^I}\mathcal{M}\) of the ISD-matrix \(\mathcal{M}\) with respect to the complex conjugate periods \(\overline{X}^I\).
dN(moduli, moduli_c[, conj])Returns the holomorphic derivative \(\partial_{z^i}\mathcal{N}\) of the gauge kinetic matrix \(\mathcal{N}\) with respect to the complex structure moduli \(z^i\).
dN_X(moduli, moduli_c[, conj])Returns the holomorphic derivative \(\partial_{X^I}\mathcal{N}\) of the gauge kinetic matrix \(\mathcal{N}\) with respect to the periods \(X^I\).
dN_c(moduli, moduli_c[, conj])Returns the anti-holomorphic derivative \(\partial_{\overline{z}^i}\mathcal{N}\) of the gauge kinetic matrix \(\mathcal{N}\) with respect to the complex conjugate complex structure moduli \(\overline{z}^i\).
dN_cX(moduli, moduli_c[, conj])Returns the anti-holomorphic derivative \(\partial_{\overline{X}^I}\mathcal{N}\) of the gauge kinetic matrix \(\mathcal{N}\) with respect to the complex conjugate periods \(\overline{X}^I\).
dV(moduli, moduli_c, tau, tau_c, fluxes[, ...])Returns the first holomorphic derivative \(\partial_{I}V\) of the \(F\)-term scalar potential \(V\).
dV_tau(moduli, moduli_c, tau, tau_c, fluxes)Returns the first holomorphic derivative \(\partial_{\tau}V\) of the \(F\)-term scalar potential \(V\) with respect to the axio-dilaton \(\tau\).
dV_x(x, fluxes[, noscale])Returns the gradients of the F-term scalar potential \(V\) with respect to the real scalar fields for real inputs.
dV_z(moduli, moduli_c, tau, tau_c, fluxes[, ...])Returns the first holomorphic derivative \(\partial_{z^i}V\) of the \(F\)-term scalar potential \(V\) with respect to the complex structure moduli \(z^i\).
dW(moduli, tau, fluxes[, conj])Calculates the holomorphic derivative \(W_I\) of the superpotential \(W\) with respect to all moduli \((z^i, \tau)\).
dW_tau(moduli, tau, fluxes[, conj])Calculates the holomorphic derivative \(W_\tau=\partial_{\tau}W\) of the superpotential \(W\) with respect to the axio-dilaton \(\tau\).
dW_z(moduli, tau, fluxes[, conj])Calculates the holomorphic derivative \(W_i=\partial_{z^i}W\) of the superpotential \(W\) with respect to the complex structure moduli \(z^{i}\).
ddDW(moduli, moduli_c, tau, tau_c, fluxes[, ...])Returns the second derivative of the \(F\)-terms \(\partial_A(D_I W)\).
ddDW_x(x, fluxes)Returns the second derivatives of the F-term conditions by differentiating with respect to the real fields.
ddIKM(moduli, moduli_c, tau, tau_c)Returns the mixed second derivative of the inverse Kähler metric \(\partial_A\partial_{\bar{B}} K^{I\bar{J}}\).
ddK_ctau_ctau(moduli, moduli_c, tau, tau_c)Returns the second holomorphic derivatives of the Kähler potential with respect to the axio-dilaton \(\tau\).
ddK_cz_ctau(moduli, moduli_c, tau, tau_c)Returns the second derivatives \(K_{\bar{\imath}\overline{\tau}}=\partial_{\overline{z}^i}\partial_{\overline{\tau}}K\) of the Kähler potential \(K\) with respect to the complex conjugate complex structure moduli \(\overline{z}^i\) and the axio-dilaton \(\overline{\tau}\).
ddK_cz_cz(moduli, moduli_c, tau, tau_c)Returns the second anti-holomorphic derivatives of the Kähler potential with respect to the complex structure moduli \(z^i\).
ddK_cz_tau(moduli, moduli_c, tau, tau_c)Returns the second derivatives \(K_{\tau\overline{j}}=\partial_{\tau}\partial_{\overline{z}^{j}}K\) of the Kähler potential \(K\) with respect to the conjugate complex structure moduli \(\overline{z}^i\) and the axio-dilaton \(\tau\).
ddK_cz_z(moduli, moduli_c, tau, tau_c)Returns the second derivatives \(K_{\bar{\jmath}i}=\partial_{\overline{z}^j}\partial_{z^i}K\) of the Kähler potential \(K\) with respect to the complex structure moduli \(z^i\) and their conjugate.
ddK_tau_ctau(moduli, moduli_c, tau, tau_c)Returns the second derivatives \(\partial_{\tau}\partial_{\overline{\tau}}K\) of the Kähler potential \(K\) with respect to the axio-dilaton \(\tau\) and its conjugate.
ddK_tau_tau(moduli, moduli_c, tau, tau_c)Returns the second holomorphic derivatives of the Kähler potential with respect to the axio-dilaton \(\tau\).
ddK_z_ctau(moduli, moduli_c, tau, tau_c)Returns the second derivatives \(K_{i\overline{\tau}}=\partial_{z^i}\partial_{\overline{\tau}}K\) of the Kähler potential \(K\) with respect to the complex structure moduli \(z^i\) and the conjugate axio-dilaton \(\overline{\tau}\).
ddK_z_cz(moduli, moduli_c, tau, tau_c)Returns the second derivatives \(K_{i\bar{\jmath}}=\partial_{z^i}\partial_{\overline{z}^j}K\) of the Kähler potential \(K\) with respect to the complex structure moduli \(z^i\) and their conjugate.
ddK_z_tau(moduli, moduli_c, tau, tau_c)Returns the second holomorphic derivatives of the Kähler potential with respect to the complex structure moduli \(z^i\) and the axio-dilaton \(\tau\).
ddK_z_z(moduli, moduli_c, tau, tau_c)Returns the second holomorphic derivatives of the Kähler potential with respect to the complex structure moduli \(z^i\).
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.
ddV_ctau(moduli, moduli_c, tau, tau_c, fluxes)Returns the mixed second derivatives \(\partial_{I}\partial_{\bar\tau}V\) of the \(F\)-term scalar potential.
ddV_cz(moduli, moduli_c, tau, tau_c, fluxes)Returns the mixed second derivatives \(\partial_{I}\partial_{\bar{z}^j}V\) of the \(F\)-term scalar potential.
ddV_tau(moduli, moduli_c, tau, tau_c, fluxes)Returns the second derivatives \(\partial_{I}\partial_{\tau}V\) of the \(F\)-term scalar potential.
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.
ddV_z(moduli, moduli_c, tau, tau_c, fluxes)Returns the holomorphic second derivatives \(\partial_{I}\partial_{z^j}V\) of the \(F\)-term scalar potential.
ddW(moduli, tau, fluxes[, conj])Calculates the full second holomorphic derivatives \(W_{IJ}=\partial_I\partial_J W\) of the superpotential.
ddW_tau_tau(moduli, tau, fluxes[, conj])Calculates \(W_{\tau\tau}=\partial_\tau^2 W\).
ddW_z_tau(moduli, tau, fluxes[, conj])Calculates the mixed second derivative \(W_{i\tau}=\partial_{z^i}\partial_{\tau}W\) of the superpotential.
ddW_z_z(moduli, tau, fluxes[, conj])Calculates the second holomorphic derivatives \(W_{ij}=\partial_{z^i}\partial_{z^j}W\) of the superpotential.
dddK(moduli, moduli_c, tau, tau_c)Returns the third holomorphic-mixed Kähler derivative \(\partial_{A} K_{C\bar{F}}\) with respect to the combined field-space index \(A = (z^i, \tau)\).
dddK_c(moduli, moduli_c, tau, tau_c)Returns the third anti-holomorphic-mixed Kähler derivative \(\partial_{\bar{B}} K_{C\bar{F}}\) with respect to the combined anti-holomorphic field-space index \(\bar{B} = (\bar{z}^i, \bar{\tau})\).
flux_to_pfv(flux)Returns M- and K-vector specifying PFV from full flux vector.
gauge_kinetic_matrix(moduli, moduli_c[, conj])Computes the value of the gauge kinetic matrix \(\mathcal{N}\).
hessian(moduli, moduli_c, tau, tau_c, fluxes)Returns the Hessian of the scalar potential.
inverse_kahler_metric(moduli, moduli_c, tau, ...)Returns the inverse Kähler metric \(K^{\overline{I}J}\).
inverse_kahler_metric_grad(moduli, moduli_c, ...)Returns the gradient of the inverse Kähler metric.
kahler_metric(moduli, moduli_c, tau, tau_c)Computes the Kähler metric \(K_{\overline{I}J}\).
kahler_potential(moduli, moduli_c, tau, tau_c)Returns the value of the Kähler potential.
map_to_fd(moduli, tau, fluxes[, axion_fd, ...])Maps a vacuum solution
(moduli, tau, fluxes)to the fundamental domain by: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})\).
mass_matrix(moduli, moduli_c, tau, tau_c, fluxes)Returns the mass matrix after canonical normalisation of the kinetic terms.
mirror_volume(moduli, moduli_c)Returns the value of the mirror dual Calabi-Yau volume.
moduli_to_periods(moduli[, conj])Transforms complex structure moduli to periods for the global choice of gauge.
Computes the monodromy matrix \(T(\vec{n})\) for a general integer shift \(z^a \to z^a + n^a\).
Computes the monodromy matrix \(T_b\) for the shift \(z^b \to z^b + 1\).
period_vector(moduli[, conj])Returns the period vector \(\Pi\) at a given point in moduli space.
periods_to_moduli(XPer)Transforms periods to complex structure moduli.
pfv_to_flux(M, K)Returns full flux vector from M- and K-vector specifying PFV.
pfv_to_moduli(M, K, tau)Returns values of the complex structure moduli at the level of the PFV.
prepot(moduli[, conj])Computes the pre-potential for given values of the moduli.
projection_fluxes(moduli, tau, fluxes[, mode])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.
riemann_tensor(moduli, moduli_c, tau, tau_c)Returns the Riemann curvature tensor \(R_{i\bar{\jmath}k\bar{l}}\) of the Kähler moduli space.
scalar_potential(moduli, moduli_c, tau, ...)Returns the value of the \(F\)-term scalar potential.
superpotential(moduli, tau, fluxes[, conj, ...])Calculates the value of the superpotential for given flux, moduli and axio-dilaton.
superpotential_gauge_invariant(moduli, tau, ...)Calculates the value of the gauge invariant version of the flux superpotential.
tadpole(fluxes)Calculates the D3-charge for given fluxes.
verify_monodromy(b[, z, tol])Numerically verify the monodromy matrix by checking \(T_b \cdot \Pi(z) = \Pi(z + e_b)\).
Attributes
F_coniLCS_bulk** Class-level descriptor: surfaces a method only when the instance's limit is in the coniLCS family. Otherwise raises AttributeError so hasattr() returns False.
F_coniLCS_exp** Class-level descriptor: surfaces a method only when the instance's limit is in the coniLCS family. Otherwise raises AttributeError so hasattr() returns False.
F_coniLCS_series** Class-level descriptor: surfaces a method only when the instance's limit is in the coniLCS family. Otherwise raises AttributeError so hasattr() returns False.
W_bulk** Class-level descriptor: surfaces a method only when the instance's limit is in the coniLCS family. Otherwise raises AttributeError so hasattr() returns False.
W_log_coeff** Class-level descriptor: surfaces a method only when the instance's limit is in the coniLCS family. Otherwise raises AttributeError so hasattr() returns False.
compute_zcf** Class-level descriptor: surfaces a method only when the instance's limit is in the coniLCS family. Otherwise raises AttributeError so hasattr() returns False.
compute_zcf_x** Class-level descriptor: surfaces a method only when the instance's limit is in the coniLCS family. Otherwise raises AttributeError so hasattr() returns False.
conifold_fluxes** Class-level descriptor: surfaces a method only when the instance's limit is in the coniLCS family. Otherwise raises AttributeError so hasattr() returns False.
dF_coniLCS_exp** Class-level descriptor: surfaces a method only when the instance's limit is in the coniLCS family. Otherwise raises AttributeError so hasattr() returns False.
dK_cf_bulk** Class-level descriptor: surfaces a method only when the instance's limit is in the coniLCS family. Otherwise raises AttributeError so hasattr() returns False.
Description: The
lcs_treeobject containing the topological data (intersection numbers, second Chern class, GV invariants, etc.) for the underlying Calabi-Yau geometry.log_coeff_K_corr** Class-level descriptor: surfaces a method only when the instance's limit is in the coniLCS family. Otherwise raises AttributeError so hasattr() returns False.
log_prefactor** Class-level descriptor: surfaces a method only when the instance's limit is in the coniLCS family. Otherwise raises AttributeError so hasattr() returns False.
zcf_handling** Class-level descriptor: surfaces a method only when the instance's limit is in the coniLCS family. Otherwise raises AttributeError so hasattr() returns False.
- A(moduli, moduli_c)#
Returns the value of the mirror dual Calabi-Yau volume.
Details
Let \(X\) be a Calabi-Yau threefold and \(\Omega_3\) its holomorphic \((3,0)\)-form. Then this function returns the value of the following integral:
\[\mathcal{A}(z^i,\overline{z}^i)=-\text{i}\, \int_{X}\, \Omega_3\wedge \overline{\Omega}_3 = -\text{i}\, \Pi^\dagger(\overline{z}^i)\cdot \Sigma\cdot \Pi(z^i)\]This object appears as the argument inside the Kähler potential, see
kahler_potential(). Given that it is dual to the volume of the mirror Calabi-Yau threefold \(\widetilde{X}\), it is manifestly positive, provided the Kähler cone conditions of \(\widetilde{X}\) are satisfied.- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.
- Returns:
complex – Mirror dual Calabi-Yau volume.
- Return type:
complex
- Aliases:
See also:
period_vector()See also:
kahler_potential()
- DDW(moduli, moduli_c, tau, tau_c, fluxes, conj=False, mode=None)#
Returns a matrix the second holomorphic Kähler derivatives \(D_I D_J W\) of the superpotential.
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.mode (
str) – The mode to \(DDW\). Currently implemented modes are: * None: general expression from explicit second derivatives. * “SUSY”: computes at a SUSY locus where DW=0 using standard SUGRA formulas.
- Returns:
Array – Value of \(D_I D_J W\).
- Return type:
Array
- DDW_SUSY(moduli, moduli_c, tau, tau_c, fluxes, conj=False, mode='block diagonal')#
Returns a matrix containing the second holomorphic Kähler derivative of the superpotential assuming that the F-flatness conditions \(D_{i}W=D_{\tau}W=0\) are satisfied.
Details
Returns a matrix containing the second holomorphic Kähler derivative of the superpotential assuming that the F-flatness conditions \(D_{i}W=D_{\tau}W=0\) are satisfied. More explicitly, we compute
\[D_I D_I W = \partial_I D_J W + K_I D_J W = \partial_I \partial_J W + (K_{IJ}-K_I K_J) W + K_I D_J W + K_J D_I W \, .\]At the SUSY minimum, this suggests
\[D_I D_I W\bigl |_{D_I W=0} = \partial_I \partial_J W + (K_{IJ}-K_I K_J) W\, .\]For the axio-dilaton, we have \(W_{\tau\tau}=0\) for the GVW superpotential and thus
\[D_\tau D_\tau W\bigl |_{D_\tau W=0} = (K_{\tau\tau} - K_\tau K_\tau) W\, .\]For the standard Kähler potential \(K\supset -\log(-\mathrm{i}(\tau-\bar{\tau}))\), this automatically implies
\[D_\tau D_\tau W\bigl |_{D_\tau W=0} = 0\; , \quad D_\tau D_i W\bigl |_{D_I W=0} = 0\, .\]Warning
We assume that there is a block-diagonal structure in the Kahler potential such that the mixed second derivatives vanish \(K_{i\tau}=K_{\tau i}=0\). This might not necessarily be true once further corrections to the Kahler potential are included.
Warning
Further, we use that \(W_{\tau\tau}=0\) because the flux superpotential
superpotential()is linear in \(\tau\). Again, this might not necessarily be true anymore once non-perturbative instanton effects are present in the superpotential!- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.mode (
str) – Whether to assume that the Kähler metric is block-diagonal. Defaults to"block diagonal".
- Returns:
Array – Value of \(D_I D_J W\) assuming \(D_IW=0\).
- Return type:
Array
- DDW_general(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the second Kähler covariant derivatives \(D_I D_J W\) of the superpotential \(W\) with respect to the axio-dilaton \(\tau\) and the complex structure moduli \(z^{i}\).
Details
We compute the Kähler covariant derivatives of the \(F\)-terms \(D_J W\)
\[D_I D_J W = \partial_I D_J W + (\partial_I K) D_J W\]using automatic differentiation. To do so, we combine the outputs of
DDW_z_z(),DDW_tau_tau(),DDW_z_tau()andDDW_tau_z().- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Second Kähler covariant derivatives \(D_I D_J W\) of the superpotential \(W\) with respect to the axio-dilaton \(\tau\) and the moduli \(z^{i}\).
- Return type:
Array
- DDW_matrix(moduli, moduli_c, tau, tau_c, fluxes, mode='SUSY')#
Returns the matrix of masses for chiral fermions.
Details
The diagonal entries of this matrix (evaluated at a minimum) are proportional to the mass matrix of chiral fermions, see equation (2.5) in 1312.5659. By abuse of terminology, we call this matrix the ‘’fermionic mass matrix’’.
Note
To speed up the computation, it can be advantageous to compute this function using the
mode="SUSY"option provided that \(DW=0\) for all fields.- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.mode (
str) – Whether or not the point at which the mass matrix is evaluated corresponds to a minimum with \(DW=0\) for all fields. Default ismode="SUSY".
- Returns:
(Array)
- Return type:
Array
- DDW_matrix_SUSY(moduli, moduli_c, tau, tau_c, fluxes)#
Returns the matrix of second Kähler derivatives of the superpotential assuming that the F-term conditions are satisfied for all fields.
Details
Explicitly, we compute
\[M=\left (\begin{array}{cc}\partial_{A}\partial_{B} W + \left ( K_{A B} - K_{A} K_{B} \right ) W & K_{A\overline{B}} W\ K_{A\overline{B}} \overline{W} & \partial_{\overline{A}}\partial_{\overline{B}} \overline{W} + \left ( K_{\overline{A} \overline{B}} - K_{\overline{A}} K_{\overline{B}} \right ) \overline{W} \end{array}\right )\]which is equivalent to the matrix of second derivatives of \(W\) (see
massive_directions_general()) provided that the F-flatness conditions\[D_{Z^{i}} W = D_{\tau} W = 0\]are satisfied. In this case, it turns out that
\[D_{A} D_{\overline{B}} W = K_{A\overline{B}} W\]as well as
\[D_{A} D_{B} W = \partial_{A}\partial_{B} W + \left ( K_{A B} - K_{A} K_{B} \right ) W\]as computed via
DDW_SUSY().- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.
- Returns:
See also –
massive_directions_general()See also –
DDW_SUSY()
- Return type:
Array
- DDW_matrix_general(moduli, moduli_c, tau, tau_c, fluxes)#
Returns the matrix of second Kähler derivatives of the superpotential.
Details
Explicitly, we compute
\[M=\left (\begin{array}{cc} D_{A}D_{B} W & D_{A}D_{\overline{B}} W \ D_{\overline{A}}D_{B} \overline{W} & D_{\overline{A}}D_{\overline{B}} \overline{W} \end{array}\right )\]which is encodes the mass terms for chiral fermions.
In this case, it turns out that
\[D_{A} D_{\overline{B}} W =K_{\overline{B}}W_{A}+\left ( K_{A\overline{B}}+K_{A}K_{\overline{B}}\right ) W\]This matrix encodes the mass terms for chiral fermions in the 4D effective theory (cf. Eq. (2.5) of 1312.5659).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Axio-dilaton value.tau_c (
complex) – Complex conjugate value for axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.
- Returns:
Array – Shape
(2n, 2n)matrix with blocks[[DDW, DcDW], [conj(DcDW), conj(DDW)]].- Return type:
Array
- DDW_tau_ctau(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the Kähler covariant derivative \(D_{\overline{\tau}}D_{\tau}W\) of the \(F\)-term \(D_{\tau}W\) with respect to the complex conjugate axio-dilaton \(\overline{\tau}\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(D_{\overline{\tau}}D_{\tau}W\).
- Return type:
Array
- DDW_tau_cz(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the Kähler covariant derivative \(D_{\overline{z}^i}D_{\tau}W\) of the \(F\)-term \(D_{\tau}W\) with respect to the complex conjugate complex structure moduli \(\overline{z}^i\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(D_{\overline{z}^i}D_{\tau}W\).
- Return type:
Array
- DDW_tau_tau(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the Kähler covariant derivative \(D_{\tau}D_{\tau}W\) of the \(F\)-term \(D_{\tau}W\) with respect to the axio-dilaton \(\tau\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(D_{\tau}D_{\tau}W\).
- Return type:
Array
- DDW_tau_z(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the Kähler covariant derivative \(D_{z^i}D_{\tau}W\) of the \(F\)-term \(D_{\tau}W\) with respect to the complex structure moduli \(z^i\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(D_{z^i}D_{\tau}W\).
- Return type:
Array
- DDW_z_ctau(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the Kähler covariant derivative \(D_{\overline{\tau}}D_{z^j}W\) of the \(F\)-term \(D_{z^j}W\) with respect to the complex conjugate axio-dilaton \(\overline{\tau}\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(D_{\overline{\tau}}D_{z^j}W\).
- Return type:
Array
- DDW_z_cz(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the Kähler covariant derivative \(D_{\overline{z}^i}D_{z^j}W\) of the \(F\)-term \(D_{z^j}W\) with respect to the complex conjugate complex structure moduli \(\overline{z}^i\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(D_{\overline{z}^i}D_{z^j}W\).
- Return type:
Array
- DDW_z_tau(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the Kähler covariant derivative \(D_{\tau}D_{z^j}W\) of the \(F\)-term \(D_{z^j}W\) with respect to the axio-dilaton \(\tau\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(D_{\tau}D_{z^j}W\).
- Return type:
Array
- DDW_z_z(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the Kähler covariant derivative \(D_{z^i}D_{z^j}W\) of the \(F\)-term \(D_{z^j}W\) with respect to the complex structure moduli \(z^i\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(D_{z^i}D_{z^j}W\).
- Return type:
Array
- DW(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the holomorphic Kähler covariant derivatives of the superpotential with respect to the complex structure moduli \(z^{i}\) and the axio-dilaton \(\tau\).
Details
This function combines the outputs of the functions
DW_z()andDW_tau()\[D_I W = \bigl(D_{1} W,\ldots, D_{h^{1,2}} W,D_{\tau} W\bigl)\, .\]This output is later used in the \(F\)-term scalar potential
scalar_potential().- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Axio-dilaton value.tau_c (
complex) – Complex conjugate value for axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Values of the \(F\)-term conditions for the complex structure moduli \(z^{i}\) and the axio-dilaton \(\tau\).
- Return type:
Array
See also:
DW_z()See also:
DW_tau()
- DW_tau(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Calculates the Kähler covariant derivative of the superpotential with respect to the axio-dilaton \(\tau\).
Details
The \(F\)-term conditions for the axio-dilaton \(\tau\) are given by
\[D_{\tau} W=\partial_{\tau}W+(\partial_{\tau}K)\, W = W_\tau+K_\tau\, W\]They appear prominently in the \(F\)-term scalar potential
scalar_potential().- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Axio-dilaton value.tau_c (
complex) – Complex conjugate value for axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
complex – Values of the \(F\)-term conditions for the axio-dilaton \(\tau\).
- Return type:
complex
See also:
superpotential()See also:
dW_tau()See also:
dK_tau()See also:
dK_ctau()
- DW_x(x, fluxes)#
Calculates the real and imaginary parts of the \(F\)-term conditions.
Details
This function is used for finding roots of the \(F\)-term conditions. It takes as input a real array of values for the complex structure moduli \(z^i\) and the axio-dilaton \(\tau\)
\[\bigl (\mathrm{Re}(z^1),\mathrm{Im}(z^1),\ldots,\mathrm{Re}(z^{h^{1,2}}), \mathrm{Im}(z^{h^{1,2}}),\mathrm{Re}(\tau),\mathrm{Im}(\tau)\bigl )\, .\]It then assembles the output of
DW()in a \((2h^{1,2}+2)\)-dimensional real vector\[\bigl (\text{Re}(D_1 W), \text{Im}(D_1 W),\ldots, \text{Re}(D_{h^{1,2}} W), \text{Im}(D_{h^{1,2}} W),\text{Re}(D_{\tau} W), \text{Im}(D_{\tau} W)\bigl )\, .\]- Parameters:
x (
Array) – Array of shape (\(2(h^{1,2}+1)\), ) containing real and imaginary parts of the complex structure moduli \(z^i\) and axio-dilaton \(\tau\).fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.
- Returns:
Array – Vector of shape (\(2(h^{1,2}+1)\), ) containing real and imaginary parts of the \(F\)-term conditions in alternating order.
- Return type:
Array
See also:
DW()
- DW_z(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Calculates the Kähler covariant derivative of the superpotential \(W\) with respect to the complex structure moduli \(z^{i}\).
Details
The \(F\)-term conditions for the complex structure moduli \(z^{i}\) are given by
\[D_i W = \partial_{z^i}W+(\partial_{z^i}K)\, W = W_i +K_i\, W \, .\]They appear prominently in the \(F\)-term scalar potential
scalar_potential().- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Axio-dilaton value.tau_c (
complex) – Complex conjugate value for axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Values of the \(F\)-term conditions for the complex structure moduli \(z^{i}\).
- Return type:
Array
See also:
superpotential()See also:
dW_z()See also:
dK_z()See also:
dK_cz()
- DcDW(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns a matrix containing the mixed second Kähler derivatives \(D_{\overline{I}}D_{J}W\).
Details
More explicitly, we compute
\[D_A D_{\overline{B}} W=K_{\overline{B}}D_{A}W+K_{A\overline{B}}W\]Generically, this function is not symmetric, but it is in the SUSY case where \(D_AW=0\) since
\[D_A D_{\overline{B}} W\bigl |_{D_AW=0}=K_{A\overline{B}}W\, .\]In particular, this is symmetric.
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Values of \(D_{\overline{I}}D_{J}W\).
- Return type:
Array
- F(moduli, conj=False)#
Computes the pre-potential for given values of the moduli.
Note
We return the value of the pre-potential in terms projective coordinates
\[z^{i}=\frac{X^i}{X^0}\, .\]Per default, we work in the gauge choice \(X^0=1\), but other gauge choices can be provided as inputs.
Note
We provide the option to compute the pre-potential and some additional functions in terms of the periods directly, see in particular
jaxvacua.periods.periods.F_LCS_per(),jaxvacua.periods.periods.prepot_per()andjaxvacua.periods.periods.period_vector_per().Warning
The moduli space limit around which the pre-potential is computed is set by the global parameter
self.periods.limit. Currently, onlyself.periods.limit="LCS"is supported.- Parameters:
moduli (
Array) – Complex structure moduli values.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
complex – Value of the prepotential \(F(z^i)\).
- Return type:
complex
- Errors:
ValueError: If the moduli space limit is not identified.
- Aliases:
See also:
prepot_per()
- F_LCS(moduli, conj=False)#
Calculates the value of the LCS prepotential in terms of the complex structure moduli \(z^{i}\).
Details
At LCS, we can write the prepotential as
\[F_{\text{LCS}}(z^1,\ldots , z^{h^{1,2}})=F_{\text{poly}}(z^1,\ldots , z^{h^{1,2}}) + F_{\text{inst}}(z^1,\ldots , z^{h^{1,2}})\]see e.g. Eq. (2.13) in 1312.0014 for an equivalent formula. Here, the polynomial piece is given by
\[F_{\text{poly}}(z^1,\ldots , z^{h^{1,2}})=\dfrac{1}{6}\kappa_{ijk}\, z^i z^j z^k+\dfrac{1}{2} a_{ij}z^i z^j+b_i\, z^i+\dfrac{\text{i}}{2}\tilde{\xi}\, ,\]Here, \(\widetilde{\kappa}_{ijk}\) are the triple intersection numbers of the mirror dual Calabi-Yau threefold \(\widetilde{X}\). Further, we defined
\[\begin{split}a_{ij} = \dfrac{1}{2}\begin{cases} \widetilde{\kappa}_{iij} & i\geq j\\[0.3em] \widetilde{\kappa}_{ijj} & i<j \end{cases} \, , \quad b_i = \dfrac{1}{24} \int_{\tilde{D}^i}\, c_2(\widetilde{X})\, , \quad \tilde{\xi}=\frac{\zeta(3)\, \chi(\widetilde{X})}{(2\pi)^3}\, .\end{split}\]The instanton contributions read
\[F_{\mathrm{inst}}(z) = -\frac{1}{(2\pi\mathrm{i})^3}\, \sum_{q\in\mathcal{M}(\widetilde{X})}\, n_q^{0}\, \text{Li}_3\left (\text{e}^{2\pi \text{i} q_i z^i}\right )\; , \quad \text{Li}_3\left (x\right )=\sum_{m=1}^{\infty}\, \dfrac{x^{m}}{m^{3}}\, .\]in terms of genus-0 Gopakumar-Vafa (GV) invariants \(n_q^0\) and the 3rd polylogarithm \(\text{Li}_3(x)\). Alternatively, the instanton contributions can be expressed as
\[F_{\text{inst}}(z^1,\ldots , z^{h^{1,2}})=\sum_{q\in\mathcal{M}(\widetilde{X})}\, N_q\, \text{e}^{2\pi \text{i} q_i z^i}\]in terms of genus-0 Gromov-Witten (GW) invariants \(N_q\). Both pieces are computed in separate functions, see
F_LCS_poly()andF_inst()for details.- Parameters:
moduli (
Array) – Complex structure moduli values.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
complex – Value of the LCS prepotential \(F_{\text{LCS}}\).
- Return type:
complex
See also:
F_LCS_poly(),F_inst()
- F_LCS_poly(moduli, conj=False)#
Computes the polynomial contribution \(F_{\mathrm{poly}}\) to the LCS prepotential \(F_{\mathrm{LCS}}\) in terms of the complex structure moduli \(z^i\).
Details
At Large Complex Structure (LCS), the polynomial part \(F_{\mathrm{poly}}\) of the prepotential \(F_{\mathrm{LCS}}\) is given by
\[F_{\text{poly}}(Z)=\dfrac{1}{6}\widetilde{\kappa}_{ijk}\, z^i z^j z^k +\dfrac{1}{2} a_{ij}z^i z^j+b_i\, z^i +\dfrac{\text{i}}{2}\tilde{\xi}\, .\]Here, \(\widetilde{\kappa}_{ijk}\) are the triple intersection numbers of the mirror dual Calabi-Yau threefold \(\widetilde{X}\). Further, we defined
\[\begin{split}a_{ij} = \dfrac{1}{2}\begin{cases} \widetilde{\kappa}_{iij} & i\geq j\\[0.3em] \widetilde{\kappa}_{ijj} & i<j \end{cases} \, , \quad b_i = \dfrac{1}{24} \int_{\tilde{D}^i}\, c_2(\widetilde{X})\, , \quad \tilde{\xi}=\frac{\zeta(3)\, \chi(\widetilde{X})}{(2\pi)^3}\, .\end{split}\]- Parameters:
moduli (
Array) – Complex structure moduli values.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
complex – Value of the polynomial contribution \(F_{\mathrm{poly}}\) to the LCS prepotential \(F_{\mathrm{LCS}}\).
- Return type:
complex
See also:
F_LCS()
- F_inst(moduli, conj=False)#
Returns the instanton part \(F_{\mathrm{inst}}\) of the LCS prepotential \(F_{\mathrm{LCS}}\) in terms of the complex structure moduli \(z^i\).
Details
The sum over world-sheet instantons in the Type IIA language is given by
\[F_{\text{inst}}(z^1,\ldots , z^{h^{1,2}})=-\frac{1}{(2\pi\mathrm{i})^3}\, \sum_{q\in\mathcal{M}(\widetilde{X})}\, n_q^{0}\, \text{Li}_3\left (\text{e}^{2\pi \text{i} q_i z^i}\right )\; , \quad \text{Li}_3\left (\right )=\sum_{m=1}^{\infty}\, \dfrac{x^{m}}{m^{3}}\]where the sum is performed over all effective curve classes \(q\in\mathcal{M}(\widetilde{X})\) in the Mori cone \(\mathcal{M}(\widetilde{X})\) of the mirror dual manifold \(\widetilde{X}\). Here, the \(n_q^{0}\) are the genus-0 Gopakumar-Vafa (GV) invariants which can be computed systematically using methods described in hep-th/9308122.
The infinite sum appearing in the poly-logarithm \(\text{Li}_3\) can be rewritten to arrive at
\[\sum_{q\in\mathcal{M}(\widetilde{X})}\, n_q^{0}\, \text{Li}_3\left (\text{e}^{2\pi \text{i} q_i z^i}\right ) = \sum_{q\in\mathcal{M}(\widetilde{X})}\, N_q\, \text{e}^{2\pi \text{i} q_i z^i}\]in terms of genus-0 Gromov-Witten (GW) invariants \(N_q\). We typically work with the latter to simplify the calculation.
- Parameters:
moduli (
Array) – Complex structure moduli values.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
complex – Value of the instanton part \(F_{\mathrm{inst}}\) of the LCS prepotential \(F_{\mathrm{LCS}}\).
- Return type:
complex
See also:
F_LCS()See also:
F_LCS_poly()
- H(moduli, moduli_c, tau, tau_c, fluxes, noscale=True, mode=None)#
Returns the Hessian of the scalar potential.
Details
Explicitly, we compute the following second derivatives of the scalar potential,
\[V_{A\overline{B}}=\partial_{A}\partial_{\bar{B}} V \; ,\quad V_{AB}=\partial_{A}\partial_{B} V\, .\]We return the Hessian matrix
\[H = \left (\begin{array}{cc}V_{A\overline{B}} & V_{AC}\ V_{\overline{D}\overline{B}} & V_{\overline{D}C} \end{array}\right )\]This matrix is used to compute the mass spectrum from
mass_matrix().Note
We provide two computational modes which can be set via the optional argument
mode. If we compute the Hessian at generic points in moduli space, then we should usemode=Nonewhich is also the default. At SUSY minimum where \(D_I W=0\) for all fields, we can use a simplified version of the Hessian which is faster to evaluate. To do so, we have to usemode="SUSY"instead.Warning
When using
mode="SUSY", one should be cautious regarding numerical errors and noise.- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.noscale (
bool) – IfTrue, uses the no-scale flux scalar potential. Defaults toTrue.mode (
str) – The mode to compute the Hessian. Formode=None, returns the general Hessian from explicit second derivatives of the scalar potential. For"SUSY", computes Hessian at a SUSY locus assuming \(D_I W=0\) using standard SUGRA formulas for the Hessian. For"SUGRA", computes the Hessian from explicit SUGRA building blocks (\(D_I W\), \(K^{I\bar{J}}\), \(W\), \(\Gamma\), \(R\)) at generic points. See_hessian_SUGRA(). For"real", computes Hessian for the real and imaginary components of the complex scalar fields. Defaults toNone.
- Returns:
Array – Hessian matrix with entries \(\partial_{A}\partial_{\bar{B}} V\) and \(\partial_{A}\partial_{B} V\).
- Return type:
Array
- ISD_condition(moduli, moduli_c, tau, tau_c, fluxes, mode='complex')#
Checks whether the fluxes satisfy the ISD condition \(\star G_3=\text{i}G_3\).
Details
If the 3-form fluxes are ISD, then the RR-fluxes \(f=(f_1,f_2)\) and NSNS-fluxes \(h=(h_1,h_2)\) with \(f_i,h_i \in \mathbb{Z}^{h^{1,2}+1}\) satisfy
\[f_1-\tau h_1=\overline{\mathcal{N}}(z^i,\overline{z}^i)\, (f_2-\tau h_2)\, ,\]where the matrix \(\mathcal{N}\) corresponding to the gauge kinetic function is computed using
gauge_kinetic_matrix(). Alternatively, this condition can also be written as\[f=(s\, M(z^i,\overline{z}^i)\Sigma + c_0)\, h\; ,\quad \tau=c_0 + \text{i} s \, .\]where the matrix \(M(z^i,\overline{z}^i)\) (also called ISD-matrix) is computed via
ISD_matrix().This function computes the difference between left and right hand side of either of these equations depending on the input. If
mode="complex", then it returns\[f_1-\tau h_1 - \overline{\mathcal{N}}(z^i,\overline{z}^i)\, (f_2-\tau h_2)\, ,\]and for
mode="real"\[f-(s \, M(z^i,\overline{z}^i)\Sigma + c_0)\, h\, .\]- Parameters:
moduli (Array) – Complex structure moduli values.
moduli_c (Array) – Complex conjugate values for complex structure moduli.
tau (complex) – : Value of axio-dilaton.
tau_c (complex) – Value of complex conjugate axio-dilaton.
fluxes (Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.
mode (str, optional) – String specifying which version of the ISD equation to use. Options are :c:var`”complex”` or :c:var`”real”. Defaults to :c:var`mode = “complex”.
- Returns:
Array – Difference between the left and right hand side of the ISD equation.
- ISD_matrix(moduli, moduli_c)#
Computes the value of the ISD-matrix \(\mathcal{M}\).
Note
This function descends from
jaxvacua.periods.periods.ISD_matrix()upon gauge fixing, i.e., making a choice of homogeneous complex coordinates on the complex structure moduli space of \(X\).- Parameters:
moduli (
Array) – Values of the complex structure moduli.moduli_c (
Array) – Complex conjugate values of the complex structure moduli.
- Returns:
Array – Value of the ISD-matrix \(\mathcal{M}\).
- Return type:
Array
- Aliases:
See also:
jaxvacua.periods.periods.ISD_matrix()
- K(moduli, moduli_c, tau, tau_c)#
Returns the value of the Kähler potential.
Details
Let \(X\) be a Calabi-Yau threefold and \(\Omega_3\) its holomorphic \((3,0)\)-form. Then this function returns the value of the following integral:
\[K(z^i,\overline{z}^i,\tau,\overline{\tau})=-\log\bigl [-\text{i}(\tau-\overline{\tau})\bigr ]-\log\bigl [\mathcal{A}(z^i,\overline{z}^i)\bigr ]\]where \(\mathcal{A}(z^i,\overline{z}^i)\) is the mirror dual CY volume defined as
\[\mathcal{A}(z^i,\overline{z}^i)=-\text{i}\, \int_{X}\, \Omega_3\wedge \overline{\Omega}_3 = -\text{i}\, \Pi^\dagger(\overline{z}^i)\cdot \Sigma\cdot \Pi(z^i)\, .\]The period vector can be computed via
period_vector()orjaxvacua.periods.periods.period_vector_per().- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
complex – Value of the Kähler potential.
- Return type:
complex
- Aliases:
See also:
A()
- M(moduli, moduli_c)#
Computes the value of the ISD-matrix \(\mathcal{M}\).
Note
This function descends from
jaxvacua.periods.periods.ISD_matrix()upon gauge fixing, i.e., making a choice of homogeneous complex coordinates on the complex structure moduli space of \(X\).- Parameters:
moduli (
Array) – Values of the complex structure moduli.moduli_c (
Array) – Complex conjugate values of the complex structure moduli.
- Returns:
Array – Value of the ISD-matrix \(\mathcal{M}\).
- Return type:
Array
- Aliases:
See also:
jaxvacua.periods.periods.ISD_matrix()
- N(moduli, moduli_c, conj=False)#
Computes the value of the gauge kinetic matrix \(\mathcal{N}\).
Note
This function descends from
jaxvacua.periods.periods.gauge_kinetic_matrix()upon gauge fixing, i.e., making a choice of homogeneous complex coordinates on the complex structure moduli space of \(X\).- Parameters:
moduli (
Array) – Values of the complex structure moduli.moduli_c (
Array) – Complex conjugate values of the complex structure moduli.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of the gauge kinetic matrix \(\mathcal{N}\).
- Return type:
Array
- Aliases:
- V(moduli, moduli_c, tau, tau_c, fluxes, noscale=True, normalise=False)#
Returns the value of the \(F\)-term scalar potential.
Details
The \(F\)-term scalar potential in 4D \(\mathcal{N}=1\) supergravity is given by
\[V_F=\mathrm{e}^{K}\,\bigl (K^{I\bar{J}}\, D_IW\, D_{\bar{J}} \overline{W}-3|W|^2\bigl )\, .\]Here, the indices \(I = (1,\ldots,h^{1,2}+1)\) run only over the axio-dilaton and the complex structure moduli ignoring the Kähler moduli. Due to the no-scale structure of the classical Kähler potential, the term \(-3|W|^2\) is cancelled by the Kähler moduli sector giving rise to the no-scale flux scalar potential
\[V_F=\mathrm{e}^{K}\, K^{I\bar{J}}\, D_IW\, D_{\bar{J}} \overline{W}\, .\]In more detail, we have at the level of the classical \(\mathcal{N}=2\) Kähler potential for the axio-dilaton \(\tau\) and the complex structure moduli \(z^{i}\)
\[V_F=\mathrm{e}^{K}\, \bigl (K^{i\bar{\jmath}}\, D_iW\, D_{\bar{\jmath}} \overline{W} +K^{\tau\bar{\tau}}\, D_\tau W\, D_{\bar{\tau}} \overline{W}\bigl )\, .\]- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Axio-dilaton value.tau_c (
complex) – Complex conjugate value for axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.noscale (
bool) – IfTrue, uses the no-scale flux scalar potential. Defaults toTrue.normalise (
bool) – IfTrue, rescales superpotential by \(\sqrt{2/\pi}\). Defaults toFalse.
- Returns:
complex – Value of the \(F\)-term scalar potential induced by 3-form fluxes.
- Return type:
complex
- Aliases:
See also:
DW()See also:
inverse_kahler_metric()See also:
kahler_potential()
- V_tilde(moduli, moduli_c)#
Returns the value of the mirror dual Calabi-Yau volume.
Details
Let \(X\) be a Calabi-Yau threefold and \(\Omega_3\) its holomorphic \((3,0)\)-form. Then this function returns the value of the following integral:
\[\mathcal{A}(z^i,\overline{z}^i)=-\text{i}\, \int_{X}\, \Omega_3\wedge \overline{\Omega}_3 = -\text{i}\, \Pi^\dagger(\overline{z}^i)\cdot \Sigma\cdot \Pi(z^i)\]This object appears as the argument inside the Kähler potential, see
kahler_potential(). Given that it is dual to the volume of the mirror Calabi-Yau threefold \(\widetilde{X}\), it is manifestly positive, provided the Kähler cone conditions of \(\widetilde{X}\) are satisfied.- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.
- Returns:
complex – Mirror dual Calabi-Yau volume.
- Return type:
complex
- Aliases:
See also:
period_vector()See also:
kahler_potential()
- V_x(x, fluxes, noscale=True)#
Returns the value of the real part of the F-term scalar potential \(V\) for input of the real scalar fields.
Note
This function is a wrapper which is used to find non-SUSY minima by looking at gradients of the scalar potential directly, see for example
_newton_method_flux_vacua_real().- Parameters:
x (
Array) – JAX array of shape (\(2(h^{1,2}+1)\),) containing the moduli and axio-dilaton as real and imaginary parts.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.noscale (
bool) – IfTrue, uses the no-scale flux scalar potential. Defaults toTrue.
- Returns:
float – Value of \(V\).
- Return type:
float
See also:
scalar_potential()
- W(moduli, tau, fluxes, conj=False, normalise=False)#
Calculates the value of the superpotential for given flux, moduli and axio-dilaton.
Details
For a Calabi-Yau manifold \(X\), the Gukov-Vafa-Witten superpotential hep-th/9906070 is defined in terms of the complex 3-form flux \(G_3=F_3-\tau H_3\) and the holomorphic 3-form \(\Omega_3\) as
\[W(Z,\tau) = \int_{X} \, G_3\wedge \Omega_3 = (\vec{f}-\tau\vec{h})^T\cdot\Sigma\cdot\Pi(Z)\]following the conventions of eq. (4) in 1912.10047. The period vector \(\Pi\) and the symplectic pairing \(\Sigma\) are defined in the periods class
jaxvacua.periods.periods().- Parameters:
moduli (
Array) – Complex structure moduli values.tau (
complex) – Axio-dilaton value.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.normalise (
bool) – IfTrue, rescales superpotential by \(\sqrt{2/\pi}\). Defaults toFalse.
- Returns:
complex – Value of the superpotential.
- Return type:
complex
- W0(moduli, tau, fluxes, conj=False, normalise=True)#
Calculates the value of the gauge invariant version of the flux superpotential.
Details
Following the conventions of 1912.10047, we define the gauge invariant version of the superpotential as
\[\tilde{W} = \sqrt{\dfrac{2}{\pi}}\, \mathrm{e}^{K/2}\, W\]Its absolute value is proportional to the gravitino mass. The normalisation is taken from 1908.04788.
- Parameters:
moduli (
Array) – Complex structure moduli values.tau (
complex) – Axio-dilaton value.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.normalise (
bool) – IfTrue, rescales superpotential by \(\sqrt{2/\pi}\). Defaults toTrue.
- Returns:
complex – Value of the gauge invariant superpotential.
- Return type:
complex
See also:
superpotential()See also:
kahler_potential()
- apply_monodromy(moduli, fluxes, n)#
Apply a monodromy shift \(z^a \to z^a + n^a\) to the moduli and transform the fluxes accordingly via the monodromy matrix \(M(n)\).
The RR-fluxes \(f\) and NSNS-fluxes \(h\) both transform as \(f \to M(n) \cdot f\), \(h \to M(n) \cdot h\).
- Parameters:
moduli (
Array) – Complex structure moduli.fluxes (
Array) – Flux vector[f | h].n (array-like) – Integer shift vector of shape
(h12,).
- Returns:
Tuple[Array, Array] –
(moduli_shifted, fluxes_shifted)- Return type:
Tuple[Array,Array]
- canonical_fterms(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the canonically normalised \(F\)-term conditions \(F_I,\, F^I\).
Details
The canonically normalised \(F\)-term conditions are defined as
\[F_I = \mathrm{e}^{K/2}\, D_IW\, ,\quad F^I = \mathrm{e}^{K/2}\, K^{I\bar{J}}\, D_{\bar{J}}\overline{W}\, .\]They parametrise the contribution to the flux scalar potential
scalar_potential()\[F^I F_I = \mathrm{e}^{K}\, K^{I\bar{J}}\, D_IW\, D_{\bar{J}} \overline{W} \, .\]- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Canonically normalised \(F\)-term conditions \(F_I\).
Array – Canonically normalised \(F\)-term conditions \(F^I\).
- Return type:
Tuple[Array,Array]
- christoffel_symbols(moduli, moduli_c, tau, tau_c)#
Returns the Christoffel symbols \(\Gamma^E_{AC}\) of the Levi-Civita connection on the Kähler moduli space.
Details
The Christoffel connection on a Kähler manifold is given by
\[\Gamma^E_{AC} = K^{E\bar{F}}\,\partial_A K_{C\bar{F}}\]where \(K_{C\bar{F}}\) is the Kähler metric and \(K^{E\bar{F}}\) its inverse. The indices \(A, C, E\) run over the combined field space \((z^1,\ldots,z^{h^{1,2}},\tau)\).
For a Kähler manifold the connection is torsion-free, \(\Gamma^E_{AC} = \Gamma^E_{CA}\), and the only non-vanishing components have purely holomorphic lower indices.
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
Array – Christoffel symbols \(\Gamma^E_{AC}\) with shape
(n, n, n)and index ordering[E, A, C].- Return type:
Array
See also:
dddK(),inverse_kahler_metric(),riemann_tensor()
- compute_tau_vev(moduli, flux)#
Computes the value of the axio-dilaton \(\tau\) from the fluxes and complex structure moduli as a solution to the corresponding \(F\)-term condition \(D_{\tau}W=0\).
Details
The axio-dilaton \(\tau\) can be computed from the fluxes and complex structure moduli as a solution to the \(F\)-term condition
\[D_{\tau}W = \partial_{\tau}W + W \partial_{\tau}K = 0\, .\]This condition can be written as
\[D_{\tau}W = -\frac{1}{\tau-\overline{\tau}} (f - \overline{\tau} h)\cdot \Sigma \cdot \overline{\Pi}(z^i) = 0\, ,\]and the corresponding solution is given by
\[\tau = \frac{f\cdot \Sigma \cdot \overline{\Pi}(z^i)}{h\cdot \Sigma \cdot \overline{\Pi}(z^i)}\, ,\]where \(f=(f_1,f_2)\) and \(h=(h_1,h_2)\) are the RR- and NSNS-fluxes respectively with \(f_i,h_i \in \mathbb{Z}^{h^{1,2}+1}\). Further, \(\Pi(z^i)\) is the period vector depending on the complex structure moduli and \(\Sigma\) is the symplectic matrix defined in
period_matrix().Note
Notice that this equation only has a solution if the denominator is non-zero, i.e. if
\[h\cdot \Sigma \cdot \overline{\Pi}(z^i) \neq 0\, .\]If this condition is not satisfied, then this function raises a
ZeroDivisionError.- Parameters:
moduli (Array) – Complex structure moduli values.
flux (Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.
- Returns:
complex – Value of the axio-dilaton \(\tau\).
- conifold_monodromy_matrix(conifold_curve=None, conifold_index=None)#
Picard-Lefschetz monodromy matrix around a conifold singularity where a 3-cycle \(\gamma = \sum_a c_a A^a\) shrinks to zero.
The monodromy acts on the period vector \(\Pi = (F_0, F_a, X^0, z^a)\) as
\[F_a \;\to\; F_a + c_a \sum_b c_b\, z^b\,,\]with all other periods invariant. This follows from the Picard-Lefschetz formula \(\delta \to \delta + (\delta \cdot \gamma)\,\gamma\) applied to the symplectic basis of \(H_3(X,\mathbb{Z})\).
- Parameters:
conifold_curve (array-like, optional) – Charge vector \(c = (c_1, \dots, c_{h^{2,1}})\) of the vanishing cycle. The vanishing period is \(w = c^T z\). If
None, usesself.lcs_tree.conifold.conifold_curvewhen available.conifold_index (int, optional) – Index (0-based among \(z^1 \dots z^h\)) of the conifold modulus, equivalent to
conifold_curve = e_{index}.
- Returns:
np.ndarray – Integer matrix of shape
(2*h12+2, 2*h12+2).- Raises:
ValueError – If both
conifold_curveandconifold_indexare provided, or if neither is given andlcs_tree.conifold.conifold_curveis unavailable.
- dDW(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the holomorphic derivative \(\partial_{I}D_{J}W\) of the \(F\)-terms \(D_{J}W\) with respect to the complex structure moduli \(z^i\) and the axio-dilaton \(\tau\).
Note
The output shape is such that
output[J-1][I-1]corresponds to \(\partial_{I}D_{J}W\) with \(I,J=1,\ldots, h^{1,2}+1\).- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(\partial_{I}D_{J}W\).
- Return type:
Array
- dDW_c(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the holomorphic derivative \(\partial_{\overline{I}}D_{J}W\) of the \(F\)-terms \(D_{J}W\) with respect to the complex conjugate complex structure moduli \(\overline{z}^i\) and the axio-dilaton \(\overline{\tau}\).
Note
The output shape is such that
output[J-1][I-1]corresponds to \(\partial_{\overline{I}}D_{J}W\) with \(I,J=1,\ldots, h^{1,2}+1\).- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(\partial_{\overline{I}}D_{J}W\).
- Return type:
Array
See also:
dDW()
- dDW_ctau(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the holomorphic derivative \(\partial_{\overline{\tau}}D_{J}W\) of the \(F\)-term \(D_{J}W\) with respect to the complex conjugate axio-dilaton \(\overline{\tau}\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(\partial_{\overline{\tau}}D_{J}W\).
- Return type:
Array
See also:
dDW_tau()
- dDW_cz(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the holomorphic derivative \(\partial_{\overline{z}^i}D_{J}W\) of the \(F\)-term \(D_{J}W\) with respect to the complex conjugate complex structure moduli \(\overline{z}^i\).
Note
The output shape is such that
output[J-1][i-1]corresponds to \(\partial_{\bar{\imath}}D_{J}W\) with \(J=1,\ldots, h^{1,2}+1\) and \(i=1,\ldots, h^{1,2}\).- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(\partial_{\overline{z}^i}D_{J}W\).
- Return type:
Array
See also:
dDW_z()
- dDW_real(moduli, tau, fluxes)#
Returns the Jacobian \(\partial_{\phi^\alpha}(D_J W)\) of the \(F\)-terms with respect to the real scalar fields \(\phi^\alpha = (a^i, v^i, c_0, s)\).
Details
Constructs the real Jacobian from the holomorphic and antiholomorphic derivatives via:
\[\frac{\partial}{\partial v^i} = \mathrm{i}\Bigl( \frac{\partial}{\partial z^i} - \frac{\partial}{\partial \bar{z}^i}\Bigr),\quad \frac{\partial}{\partial a^i} = \frac{\partial}{\partial z^i} + \frac{\partial}{\partial \bar{z}^i}\]Output shape:
(2n, 2n)where the rows are[Re(D_J W), Im(D_J W)]and the columns are[∂_v, ∂_a]derivatives.- Parameters:
moduli (
Array) – Complex structure moduli values.tau (
complex) – Axio-dilaton value.fluxes (
Array) – Array of fluxes.
- Returns:
Array – Shape
(2n, 2n)real Jacobian \(\partial_{\phi^\alpha}(D_J W)\).- Return type:
Array
- dDW_tau(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the holomorphic derivative \(\partial_{\tau}D_{J}W\) of the \(F\)-terms \(D_{J}W\) with respect to the the axio-dilaton \(\tau\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(\partial_{\tau}D_{J}W\).
- Return type:
Array
- dDW_tau_ctau(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the holomorphic derivative \(\partial_{\overline{\tau}}D_{\tau}W\) of the \(F\)-term \(D_{\overline{\tau}}W\) with respect to the complex conjugate axio-dilaton \(\overline{\tau}\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(\partial_{\overline{\tau}}D_{\tau}W\).
- Return type:
Array
- dDW_tau_cz(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the holomorphic derivative \(\partial_{\overline{z}^i}D_{\tau}W\) of the \(F\)-term \(D_{\tau}W\) with respect to the complex conjugate complex structure moduli \(\overline{z}^i\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(\partial_{\overline{z}^i}D_{\tau}W\).
- Return type:
Array
- dDW_tau_tau(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the holomorphic derivative \(\partial_{\tau}D_{\tau}W\) of the \(F\)-term \(D_{\tau}W\) with respect to the axio-dilaton \(\tau\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(\partial_{\tau}D_{\tau}W\).
- Return type:
complex
- dDW_tau_z(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the holomorphic derivative \(\partial_{z^i}D_{\tau}W\) of the \(F\)-term \(D_{\tau}W\) with respect to the complex structure moduli \(z^i\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(\partial_{z^i}D_{\tau}W\).
- Return type:
Array
- dDW_x(x, fluxes)#
Returns the first derivatives of the F-term conditions by differentiating with respect to the real fields.
- Parameters:
x (
Array) – Array of shape (\(2(h^{1,2}+1)\), ) containing real and imaginary parts of the complex structure moduli \(z^i\) and axio-dilaton \(\tau\).fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.
- Returns:
Array – First derivatives of the real \(F\)-term conditions with respect to the real and imaginary parts of the complex structure moduli \(z^i\) and axio-dilaton \(\tau\).
- Return type:
Array
See also:
DW_x()
- dDW_z(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the holomorphic derivative \(\partial_{z^i}D_{J}W\) of the \(F\)-terms \(D_{J}W\) with respect to the complex structure moduli \(z^i\).
Note
The output shape is such that
output[J-1][i-1]corresponds to \(\partial_{i}D_{J}W\) with \(J=1,\ldots, h^{1,2}+1\) and \(i=1,\ldots, h^{1,2}\).- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(\partial_{I}D_{z^j}W\).
- Return type:
Array
- dDW_z_ctau(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the holomorphic derivative \(\partial_{\overline{\tau}}D_{z^j}W\) of the \(F\)-term \(D_{z^j}W\) with respect to the complex conjugate axio-dilaton \(\overline{\tau}\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(\partial_{\overline{\tau}}D_{z^j}W\).
- Return type:
Array
- dDW_z_cz(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the holomorphic derivative \(\partial_{\overline{z}^i}D_{z^j}W\) of the \(F\)-term \(D_{z^j}W\) with respect to the complex conjugate complex structure moduli \(\overline{z}^i\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(\partial_{\overline{z}^i}D_{z^j}W\).
- Return type:
Array
- dDW_z_tau(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the holomorphic derivative \(\partial_{\tau}D_{z^j}W\) of the \(F\)-term \(D_{z^j}W\) with respect to the axio-dilaton \(\tau\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(\partial_{\tau}D_{z^j}W\).
- Return type:
Array
- dDW_z_z(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the holomorphic derivative \(\partial_{z^i}D_{z^j}W\) of the \(F\)-term \(D_{z^j}W\) with respect to the complex structure moduli \(z^i\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(\partial_{z^i}D_{z^j}W\).
- Return type:
Array
- dF(moduli, conj=False)#
Computes the holomorphic derivative \(\partial_{z^i} F\) of the prepotential \(F\) for given values of the moduli.
- Parameters:
moduli (
Array) – Complex structure moduli values.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of the holomorphic derivatives \(\partial_{z^i}F\) of the prepotential \(F(z^i)\).
- Return type:
Array
See also:
prepot()
- dGamma(moduli, moduli_c, tau, tau_c)#
Returns the holomorphic derivative of the Christoffel symbols \(\partial_B \Gamma^E_{AC}\).
Details
Differentiates \(\Gamma^E_{AC} = K^{E\bar{F}}\,\partial_A K_{C\bar{F}}\) with respect to the holomorphic direction \(z^B\) (or \(\tau\)).
This quantity appears in the holomorphic second derivative of the inverse Kähler metric (and thus in the holomorphic Hessian \(\partial_A\partial_B V\)) via
\[\partial_A\partial_B K^{I\bar{J}} = -(\partial_B\Gamma^I_{AC})\,K^{C\bar{J}} + \Gamma^I_{AC}\,\Gamma^C_{BD}\,K^{D\bar{J}}\,.\]- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
Array – \(\partial_B \Gamma^E_{AC}\) with shape
(n, n, n, n)and index ordering[E, A, C, B].- Return type:
Array
See also:
christoffel_symbols()
- dIKM_c(moduli, moduli_c, tau, tau_c)#
Returns the anti-holomorphic derivative of the inverse Kähler metric \(\partial_{\bar{B}} K^{I\bar{J}}\).
Details
From the identity \(K_{I\bar{F}}\,K^{I\bar{J}} = \delta_{\bar{F}}^{\bar{J}}\) one obtains
\[\partial_{\bar{B}} K^{I\bar{J}} = - K^{I\bar{F}}\,(\partial_{\bar{B}} K_{C\bar{F}})\,K^{C\bar{J}}\,.\]This quantity appears in the anti-holomorphic variation of the \(F\)-term scalar \(S = D_{\bar{I}}\bar{W}\,K^{I\bar{J}}\,D_J W\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
Array – \(\partial_{\bar{B}} K^{I\bar{J}}\) with shape
(n, n, n)and index ordering[I, J̄, B̄].- Return type:
Array
See also:
dddK_c(),inverse_kahler_metric()
- dK(moduli, moduli_c, tau, tau_c)#
Returns the holomorphic derivative \(\partial_I K\) of the Kähler potential \(K\) with respect to the complex structure moduli \(z^{i}\) and the axio-dilaton \(\tau\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
Array – Values of \(\partial_I K\).
- Return type:
Array
See also:
kahler_potential()
- dK_c(moduli, moduli_c, tau, tau_c)#
Returns the holomorphic derivative \(\partial_{\overline{I}} K\) of the Kähler potential \(K\) with respect to the complex conjugate complex structure moduli \(\overline{z}^{i}\) and the axio-dilaton \(\overline{\tau}\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
Array – Values of \(\partial_{\overline{I}} K\).
- Return type:
Array
See also:
kahler_potential()
- dK_ctau(moduli, moduli_c, tau, tau_c)#
Returns the anti-holomorphic derivative \(\partial_{\overline{\tau}}K\) of the Kähler potential \(K\) with respect to the conjugate axio-dilaton \(\overline{\tau}\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
complex – Anti-holomorphic derivative \(\partial_{\overline{\tau}}K\) of the Kähler potential \(K\).
- Return type:
complex
See also:
kahler_potential()
- dK_cz(moduli, moduli_c, tau, tau_c)#
Returns the anti-holomorphic derivative \(\partial_{\overline{z}^i}K\) of the Kähler potential \(K\) with respect to the conjugate complex structure moduli \(\overline{z}^i\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
Array – Anti-holomorphic derivative \(\partial_{\overline{z}^i}K\) of the Kähler potential \(K\).
- Return type:
Array
See also:
kahler_potential()
- dK_tau(moduli, moduli_c, tau, tau_c)#
Returns the holomorphic derivative \(\partial_{\tau}K\) of the Kähler potential \(K\) with respect to the axio-dilaton \(\tau\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
complex – Holomorphic derivative \(\partial_{\tau}K\) of the Kähler potential \(K\).
- Return type:
complex
See also:
kahler_potential()
- dK_z(moduli, moduli_c, tau, tau_c)#
Returns the holomorphic derivative \(\partial_{z^i}K\) of the Kähler potential \(K\) with respect to the complex structure moduli \(z^i\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
Array – Holomorphic derivative \(\partial_{z^i}K\) of the Kähler potential \(K\).
- Return type:
Array
See also:
kahler_potential()
- dM(moduli, moduli_c)#
Returns the holomorphic derivative \(\partial_{z^i}\mathcal{M}\) of the ISD-matrix \(\mathcal{M}\) with respect to the complex structure moduli \(z^i\).
- Parameters:
moduli (
Array) – Values of the complex structure moduli.moduli_c (
Array) – Complex conjugate values of the complex structure moduli.
- Returns:
Array – Holomorphic derivative \(\partial_{z^i}\mathcal{M}\) of the ISD-matrix \(\mathcal{M}\).
- Return type:
Array
- dM_X(moduli, moduli_c)#
Returns the holomorphic derivative \(\partial_{X^I}\mathcal{M}\) of the ISD-matrix \(\mathcal{M}\) with respect to the periods \(X^I\).
Note
This function descends from
jaxvacua.periods.periods.dM()upon gauge fixing, i.e., making a choice of homogeneous complex coordinates on the complex structure moduli space of \(X\).- Parameters:
moduli (
Array) – Values of the complex structure moduli.moduli_c (
Array) – Complex conjugate values of the complex structure moduli.
- Returns:
Array – Holomorphic derivative \(\partial_{X^I}\mathcal{M}\) of the ISD-matrix \(\mathcal{M}\).
- Return type:
Array
- dM_c(moduli, moduli_c)#
Returns the anti-holomorphic derivative \(\partial_{\overline{z}^i}\mathcal{M}\) of the ISD-matrix \(\mathcal{M}\) with respect to the complex conjugate complex structure moduli \(\overline{z}^i\).
- Parameters:
moduli (
Array) – Values of the complex structure moduli.moduli_c (
Array) – Complex conjugate values of the complex structure moduli.
- Returns:
Array – Anti-holomorphic derivative \(\partial_{\overline{z}^i}\mathcal{M}\) of the ISD-matrix \(\mathcal{M}\).
- Return type:
Array
- dM_cX(moduli, moduli_c)#
Returns the anti-holomorphic derivative \(\partial_{\overline{X}^I}\mathcal{M}\) of the ISD-matrix \(\mathcal{M}\) with respect to the complex conjugate periods \(\overline{X}^I\).
Note
This function descends from
jaxvacua.periods.periods.dM_c()upon gauge fixing, i.e., making a choice of homogeneous complex coordinates on the complex structure moduli space of \(X\).- Parameters:
moduli (
Array) – Values of the complex structure moduli.moduli_c (
Array) – Complex conjugate values of the complex structure moduli.
- Returns:
Array – Anti-holomorphic derivative \(\partial_{\overline{X}^I}\mathcal{M}\) of the ISD-matrix \(\mathcal{M}\).
- Return type:
Array
- dN(moduli, moduli_c, conj=False)#
Returns the holomorphic derivative \(\partial_{z^i}\mathcal{N}\) of the gauge kinetic matrix \(\mathcal{N}\) with respect to the complex structure moduli \(z^i\).
- Parameters:
moduli (
Array) – Values of the complex structure moduli.moduli_c (
Array) – Complex conjugate values of the complex structure moduli.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Holomorphic derivative \(\partial_{z^i}\mathcal{N}\) of the gauge kinetic matrix \(\mathcal{N}\).
- Return type:
Array
- dN_X(moduli, moduli_c, conj=False)#
Returns the holomorphic derivative \(\partial_{X^I}\mathcal{N}\) of the gauge kinetic matrix \(\mathcal{N}\) with respect to the periods \(X^I\).
Note
This function descends from
jaxvacua.periods.periods.dN()upon gauge fixing, i.e., making a choice of homogeneous complex coordinates on the complex structure moduli space of \(X\).- Parameters:
moduli (
Array) – Values of the complex structure moduli.moduli_c (
Array) – Complex conjugate values of the complex structure moduli.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Holomorphic derivative \(\partial_{X^I}\mathcal{N}\) of the gauge kinetic matrix \(\mathcal{N}\).
- Return type:
Array
- dN_c(moduli, moduli_c, conj=False)#
Returns the anti-holomorphic derivative \(\partial_{\overline{z}^i}\mathcal{N}\) of the gauge kinetic matrix \(\mathcal{N}\) with respect to the complex conjugate complex structure moduli \(\overline{z}^i\).
- Parameters:
moduli (
Array) – Values of the complex structure moduli.moduli_c (
Array) – Complex conjugate values of the complex structure moduli.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Anti-holomorphic derivative \(\partial_{\overline{z}^i}\mathcal{N}\) of the gauge kinetic matrix \(\mathcal{N}\).
- Return type:
Array
- dN_cX(moduli, moduli_c, conj=False)#
Returns the anti-holomorphic derivative \(\partial_{\overline{X}^I}\mathcal{N}\) of the gauge kinetic matrix \(\mathcal{N}\) with respect to the complex conjugate periods \(\overline{X}^I\).
Note
This function descends from
jaxvacua.periods.periods.dN_c()upon gauge fixing, i.e., making a choice of homogeneous complex coordinates on the complex structure moduli space of \(X\).- Parameters:
moduli (
Array) – Values of the complex structure moduli.moduli_c (
Array) – Complex conjugate values of the complex structure moduli.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Anti-holomorphic derivative \(\partial_{\overline{X}^I}\mathcal{N}\) of the gauge kinetic matrix \(\mathcal{N}\).
- Return type:
Array
- dV(moduli, moduli_c, tau, tau_c, fluxes, noscale=True, conj=False, mode='complex')#
Returns the first holomorphic derivative \(\partial_{I}V\) of the \(F\)-term scalar potential \(V\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Axio-dilaton value.tau_c (
complex) – Complex conjugate value for axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.noscale (
bool) – IfTrue, uses the no-scale flux scalar potential. Defaults toTrue.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse. Becomes void ifmode="real".mode (str, optional) – String specifying whether to return complex or real derivatives. Defaults to
"complex".
- Returns:
Array – Value of \(\partial_{I}V\).
- Return type:
Array
- dV_tau(moduli, moduli_c, tau, tau_c, fluxes, noscale=True, conj=False)#
Returns the first holomorphic derivative \(\partial_{\tau}V\) of the \(F\)-term scalar potential \(V\) with respect to the axio-dilaton \(\tau\).
Details
Computed via
jax.jacrevofscalar_potential()with respect to \(\tau\) (argnums=2). Forconj=True, differentiates with respect to \(\bar\tau\) (argnums=3):\[\partial_\tau V = \mathrm{e}^K \bigl[K_\tau\,(S - \lambda G) + \partial_\tau S - \lambda\,\partial_\tau G\bigr]\]- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Axio-dilaton value.tau_c (
complex) – Complex conjugate value for axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.noscale (
bool) – IfTrue, uses the no-scale flux scalar potential. Defaults toTrue.conj (
bool) – IfTrue, computes \(\partial_{\bar\tau}V\). Defaults toFalse.
- Returns:
complex – Value of \(\partial_{\tau}V\) (scalar).
- Return type:
Array
- dV_x(x, fluxes, noscale=True)#
Returns the gradients of the F-term scalar potential \(V\) with respect to the real scalar fields for real inputs.
Details
Let us denote the complex scalar fields as
\[z^i = a^i + \text{i} v^i\, ,\quad \tau = c_0 + \text{i} s\, .\]Then this function computes
\[\nabla V = (\partial_{a^1}V, \partial_{v^1}V,\ldots ,\partial_{a^{h^{1,2}}}V, \partial_{v^{h^{1,2}}}V,\partial_{c_0}V, \partial_{s}V)\, .\]- Parameters:
x (
Array) – JAX array of shape (\(2(h^{1,2}+1)\),) containing the moduli and axio-dilaton as real and imaginary parts.fluxes (
Array) – Flux vector of shape (\(4(h^{1,2}+1)\),)noscale (
bool) – IfTrue, uses the no-scale flux scalar potential. Defaults toTrue.
- Returns:
Array – Value of \((\partial_{a^1}V, \partial_{v^1}V,\ldots ,\partial_{a^{h^{1,2}}}V, \partial_{v^{h^{1,2}}}V,\partial_{c_0}V, \partial_{s}V)\).
- Return type:
Array
See also:
V_x()
- dV_z(moduli, moduli_c, tau, tau_c, fluxes, noscale=True, conj=False)#
Returns the first holomorphic derivative \(\partial_{z^i}V\) of the \(F\)-term scalar potential \(V\) with respect to the complex structure moduli \(z^i\).
Details
Computed via
jax.jacrevofscalar_potential()with respect to the holomorphic moduli (argnums=0). Forconj=True, differentiates with respect to the antiholomorphic moduli (argnums=1):\[(\texttt{dV\_z})_i = \partial_{z^i} V = \mathrm{e}^K \bigl[K_i\,(S - \lambda G) + \partial_i S - \lambda\,\partial_i G\bigr]\]where \(S = D_{\bar I}\bar W\,K^{I\bar J}\,D_J W\) and \(G = |W|^2\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Axio-dilaton value.tau_c (
complex) – Complex conjugate value for axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.noscale (
bool) – IfTrue, uses the no-scale flux scalar potential. Defaults toTrue.conj (
bool) – IfTrue, computes \(\partial_{\bar{z}^i}V\). Defaults toFalse.
- Returns:
Array – Value of \(\partial_{z^i}V\), shape
(h12,).- Return type:
Array
- dW(moduli, tau, fluxes, conj=False)#
Calculates the holomorphic derivative \(W_I\) of the superpotential \(W\) with respect to all moduli \((z^i, \tau)\).
Details
Combines
dW_z()anddW_tau()into a single array viajax.grad(W, argnums=(0,1), holomorphic=True):\[W_I = (W_{z^1}, \ldots, W_{z^{h^{1,2}}}, W_\tau)\]Shape:
(h12 + 1,).- Parameters:
moduli (
Array) – Complex structure moduli values.tau (
complex) – Value of the axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of the holomorphic derivative of the superpotential with respect to the complex structure moduli \(z^{i}\) and the axio-dilaton \(\tau\).
- Return type:
Array
- dW_tau(moduli, tau, fluxes, conj=False)#
Calculates the holomorphic derivative \(W_\tau=\partial_{\tau}W\) of the superpotential \(W\) with respect to the axio-dilaton \(\tau\).
Details
Since \(W = f^T\Pi - \tau\,h^T\Pi\), the axio-dilaton derivative is
\[\partial_\tau W = -h^T\Pi = -\int H_3 \wedge \Omega\]- Parameters:
moduli (
Array) – Complex structure moduli values.tau (
complex) – Value of the axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
complex – Value of the holomorphic gradient of the superpotential with respect to the axio-dilaton \(\tau\).
- Return type:
complex
- dW_z(moduli, tau, fluxes, conj=False)#
Calculates the holomorphic derivative \(W_i=\partial_{z^i}W\) of the superpotential \(W\) with respect to the complex structure moduli \(z^{i}\).
Details
The Gukov-Vafa-Witten superpotential is \(W = \int G_3 \wedge \Omega\), where \(\Omega\) is the holomorphic 3-form. Its holomorphic derivative with respect to the complex structure moduli is computed via
jax.gradofsuperpotential()withholomorphic=True.\[W_i = \partial_{z^i} W = \int G_3 \wedge \chi_i\]where \(\chi_i = \partial_{z^i}\Omega\) are the Kodaira-Spencer forms.
- Parameters:
moduli (
Array) – Complex structure moduli values.tau (
complex) – Value of the axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of the holomorphic derivative of the superpotential with respect to the complex structure moduli \(z^{i}\).
- Return type:
Array
- ddDW(moduli, moduli_c, tau, tau_c, fluxes, conj=False)#
Returns the second derivative of the \(F\)-terms \(\partial_A(D_I W)\).
Details
Differentiates \(\partial_A(D_I W)\) (computed by
dDW()) once more with respect to either the holomorphic or anti-holomorphic field-space directions.For
conj=False(holomorphic):\[(\texttt{ddDW})_{I,A,B} = \partial_B\,\partial_A(D_I W)\]For
conj=True(mixed):\[(\texttt{ddDW})_{I,A,\bar{B}} = \partial_{\bar{B}}\,\partial_A(D_I W)\]These quantities appear in the 9-term product-rule expansion of \(\partial_A\partial_B S\) and \(\partial_A\partial_{\bar{B}} S\) (see
_hessian_SUGRA()), where \(S = D_{\bar{I}}\bar{W}\,K^{I\bar{J}}\,D_J W\).- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfFalse, returns \(\partial_B\partial_A(D_I W)\) (holomorphic second derivative). IfTrue, returns \(\partial_{\bar{B}}\partial_A(D_I W)\) (mixed second derivative). Defaults toFalse.
- Returns:
Array – Shape
(n, n, n)with index ordering[I, A, B](or[I, A, B̄]whenconj=True), wheren = h^{1,2}+1.- Return type:
Array
See also:
dDW(),_hessian_SUGRA()
- ddDW_x(x, fluxes)#
Returns the second derivatives of the F-term conditions by differentiating with respect to the real fields.
- Parameters:
x (
Array) – Array of shape (\(2(h^{1,2}+1)\), ) containing real and imaginary parts of the complex structure moduli \(z^i\) and axio-dilaton \(\tau\).fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.
- Returns:
Array – Second derivatives of the real \(F\)-term conditions with respect to the real and imaginary parts of the complex structure moduli \(z^i\) and axio-dilaton \(\tau\).
- Return type:
Array
See also:
DW_x()
- ddIKM(moduli, moduli_c, tau, tau_c)#
Returns the mixed second derivative of the inverse Kähler metric \(\partial_A\partial_{\bar{B}} K^{I\bar{J}}\).
Details
Differentiating \(\partial_{\bar{B}} K^{I\bar{J}} = -K^{I\bar{F}}(\partial_{\bar{B}}K_{C\bar{F}})K^{C\bar{J}}\) with respect to \(z^A\) yields three terms via the product rule:
\[\partial_A\partial_{\bar{B}} K^{I\bar{J}} = \underbrace{-\Gamma^I_{AQ}\,(\partial_{\bar{B}} K^{Q\bar{J}})}_{\text{A1}} \;\underbrace{-\;K^{I\bar{F}}\,R_{C\bar{F}A\bar{B}}\,K^{C\bar{J}}}_{\text{A2}_R} \;\underbrace{-\;K^{I\bar{F}}\,(K^{M\bar{N}} K_{3h,C\bar{N}A}\,K_{3a,M\bar{F}\bar{B}})\,K^{C\bar{J}}}_{\text{A2}_\Gamma} \;\underbrace{+\;K^{I\bar{F}}\,K_{3a,C\bar{F}\bar{B}}\,\Gamma^C_{AD}\,K^{D\bar{J}}}_{\text{A3}}\]where \(K_{3h}\) and \(K_{3a}\) are the holomorphic and anti-holomorphic third Kähler derivatives (
dddK(),dddK_c()), \(\Gamma^E_{AC}\) are the Christoffel symbols (christoffel_symbols()), and \(R_{i\bar{\jmath}k\bar{l}}\) is the Riemann tensor (riemann_tensor()).The Riemann tensor enters through the holomorphic derivative of the anti-holomorphic Kähler-metric derivative \(\partial_A(\partial_{\bar{B}} K_{C\bar{F}}) = K_{C\bar{F}A\bar{B}}\), which decomposes as \(R + \Gamma\)-contraction via the metric formula for the Riemann tensor.
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
Array – \(\partial_A\partial_{\bar{B}} K^{I\bar{J}}\) with shape
(n, n, n, n)and index ordering[I, J̄, B̄, A].- Return type:
Array
See also:
riemann_tensor(),christoffel_symbols(),dIKM_c()
- ddK_ctau_ctau(moduli, moduli_c, tau, tau_c)#
Returns the second holomorphic derivatives of the Kähler potential with respect to the axio-dilaton \(\tau\).
Details
The returned array has the components
\[K_{\tau\tau}(z^i,\overline{z}^i,\tau,\overline{\tau})=\partial_{\tau}\partial_{\tau}K(z^i,\overline{z}^i,\tau,\overline{\tau})\, .\]Note
These holomorphic derivatives are used e.g. in
DDW()to compute the second Kähler covariant derivative of the superpotential.- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
complex – Second holomorphic derivative of the Kähler potential with respect to \(\tau\).
- Return type:
complex
- ddK_cz_ctau(moduli, moduli_c, tau, tau_c)#
Returns the second derivatives \(K_{\bar{\imath}\overline{\tau}}=\partial_{\overline{z}^i}\partial_{\overline{\tau}}K\) of the Kähler potential \(K\) with respect to the complex conjugate complex structure moduli \(\overline{z}^i\) and the axio-dilaton \(\overline{\tau}\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
Array – Second derivatives \(K_{\bar{\imath}\overline{\tau}}=\partial_{\overline{z}^i}\partial_{\overline{\tau}}K\) of the Kähler potential \(K\).
- Return type:
Array
- ddK_cz_cz(moduli, moduli_c, tau, tau_c)#
Returns the second anti-holomorphic derivatives of the Kähler potential with respect to the complex structure moduli \(z^i\).
Details
The returned array has the components
\[K_{ij}(z^i,\overline{z}^i,\tau,\overline{\tau})=\partial_{z^i}\partial_{z^{j}}K(z^i,\overline{z}^i,\tau,\overline{\tau})\, .\]Note
These holomorphic derivatives are used e.g. in
DDW()to compute the second Kähler covariant derivative of the superpotential.- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
Array – \(h^{1,2}\times h^{1,2}\) matrix of the second holomorphic derivatives of the Kähler potential with respect to \(z^i\).
- Return type:
Array
- ddK_cz_tau(moduli, moduli_c, tau, tau_c)#
Returns the second derivatives \(K_{\tau\overline{j}}=\partial_{\tau}\partial_{\overline{z}^{j}}K\) of the Kähler potential \(K\) with respect to the conjugate complex structure moduli \(\overline{z}^i\) and the axio-dilaton \(\tau\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
Array – Second derivatives \(K_{\tau\overline{j}}=\partial_{\tau}\partial_{\overline{z}^{j}}K\) of the Kähler potential \(K\).
- Return type:
Array
- ddK_cz_z(moduli, moduli_c, tau, tau_c)#
Returns the second derivatives \(K_{\bar{\jmath}i}=\partial_{\overline{z}^j}\partial_{z^i}K\) of the Kähler potential \(K\) with respect to the complex structure moduli \(z^i\) and their conjugate.
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
Array – Second derivatives \(K_{\bar{\jmath}i}=\partial_{\overline{z}^j}\partial_{z^i}K\) of the Kähler potential \(K\).
- Return type:
Array
See also:
dK_z()
- ddK_tau_ctau(moduli, moduli_c, tau, tau_c)#
Returns the second derivatives \(\partial_{\tau}\partial_{\overline{\tau}}K\) of the Kähler potential \(K\) with respect to the axio-dilaton \(\tau\) and its conjugate.
Note
The returned scalar is given by
\[K_{\tau\overline{\tau}}(z^i,\overline{z}^i,\tau,\overline{\tau})=\partial_{\tau}\partial_{\overline{\tau}}K\, .\]For the standard Kähler potential \(K \supset - \log (-\text{i}(\tau-\overline{\tau}))\), we find
\[K_{\tau\overline{\tau}} = -\frac{1}{(\tau-\overline{\tau})^2}= \frac{1}{4\mathrm{Im}(\tau)^2}\, .\]- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
complex – Second derivatives \(\partial_{\tau}\partial_{\overline{\tau}}K\) of the Kähler potential \(K\).
- Return type:
complex
- ddK_tau_tau(moduli, moduli_c, tau, tau_c)#
Returns the second holomorphic derivatives of the Kähler potential with respect to the axio-dilaton \(\tau\).
Details
The returned array has the components
\[K_{\tau\tau}(z^i,\overline{z}^i,\tau,\overline{\tau})=\partial_{\tau}\partial_{\tau}K(z^i,\overline{z}^i,\tau,\overline{\tau})\, .\]Note
These holomorphic derivatives are used e.g. in
DDW()to compute the second Kähler covariant derivative of the superpotential.- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
complex – Second holomorphic derivative of the Kähler potential with respect to \(\tau\).
- Return type:
complex
- ddK_z_ctau(moduli, moduli_c, tau, tau_c)#
Returns the second derivatives \(K_{i\overline{\tau}}=\partial_{z^i}\partial_{\overline{\tau}}K\) of the Kähler potential \(K\) with respect to the complex structure moduli \(z^i\) and the conjugate axio-dilaton \(\overline{\tau}\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
Array – Second derivatives \(K_{i\overline{\tau}}=\partial_{z^i}\partial_{\overline{\tau}}K\) of the Kähler potential \(K\).
- Return type:
Array
- ddK_z_cz(moduli, moduli_c, tau, tau_c)#
Returns the second derivatives \(K_{i\bar{\jmath}}=\partial_{z^i}\partial_{\overline{z}^j}K\) of the Kähler potential \(K\) with respect to the complex structure moduli \(z^i\) and their conjugate.
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
Array – Second derivatives \(K_{i\bar{\jmath}}=\partial_{z^i}\partial_{\overline{z}^j}K\) of the Kähler potential \(K\).
- Return type:
Array
See also:
dK_z()
- ddK_z_tau(moduli, moduli_c, tau, tau_c)#
Returns the second holomorphic derivatives of the Kähler potential with respect to the complex structure moduli \(z^i\) and the axio-dilaton \(\tau\).
Details
The returned array has the components
\[K_{i\tau}(z^i,\overline{z}^i,\tau,\overline{\tau})=\partial_{z^i}\partial_{\tau}K(z^i,\overline{z}^i,\tau,\overline{\tau})\, .\]Note
These holomorphic derivatives are used e.g. in
DDW()to compute the second Kähler covariant derivative of the superpotential.- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
Array – \(h^{1,2}\times 1\) matrix of the second holomorphic derivatives of the Kähler potential with respect to \(z^i\) and \(\tau\).
- Return type:
Array
- ddK_z_z(moduli, moduli_c, tau, tau_c)#
Returns the second holomorphic derivatives of the Kähler potential with respect to the complex structure moduli \(z^i\).
Details
The returned array has the components
\[K_{ij}(z^i,\overline{z}^i,\tau,\overline{\tau})=\partial_{z^i}\partial_{z^{j}}K(z^i,\overline{z}^i,\tau,\overline{\tau})\, .\]Note
These holomorphic derivatives are used e.g. in
DDW()to compute the second Kähler covariant derivative of the superpotential.- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
Array – \(h^{1,2}\times h^{1,2}\) matrix of the second holomorphic derivatives of the Kähler potential with respect to \(z^i\).
- Return type:
Array
- ddV(moduli, moduli_c, tau, tau_c, fluxes, noscale=True, conj=False, mode='complex')#
Returns the second derivatives \((\partial_I\partial_J V,\,\partial_I\partial_{\bar J}V)\) of the \(F\)-term scalar potential.
Details
For
mode="complex"(default), returns the concatenation of the holomorphic block \(\partial_I\partial_J V\) and the mixed block \(\partial_I\partial_{\bar J}V\) as a \(n\times 2n\) array.For
mode="real", returns the real-coordinate Hessian \(\partial_{\phi^\alpha}\partial_{\phi^\beta}V\) (equivalent toddV_x()).- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Axio-dilaton value.tau_c (
complex) – Complex conjugate value for axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.noscale (
bool) – IfTrue, uses the no-scale flux scalar potential. Defaults toTrue.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse. Becomes void ifmode="real".mode (str, optional) – String specifying whether to return complex or real derivatives. Defaults to
"complex".
- Returns:
Array – Value of \((\partial_{I}\partial_{J}V,\partial_{I}\partial_{\overline{J}}V)\).
- Return type:
Array
- ddV_ctau(moduli, moduli_c, tau, tau_c, fluxes, noscale=True, conj=False)#
Returns the mixed second derivatives \(\partial_{I}\partial_{\bar\tau}V\) of the \(F\)-term scalar potential.
Details
Computed as
jacrev(dV, argnums=3)forconj=False(holomorphic–antiholomorphic) orjacrev(dV, argnums=2)forconj=True:\[(\texttt{ddV\_ctau})_{I} = \partial_I \partial_{\bar\tau} V\]- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Axio-dilaton value.tau_c (
complex) – Complex conjugate value for axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.noscale (
bool) – IfTrue, uses the no-scale flux scalar potential. Defaults toTrue.conj (
bool) – IfTrue, computes \(\partial_{\bar I}\partial_\tau V\). Defaults toFalse.
- Returns:
Array – Value of \(\partial_{I}\partial_{\overline{\tau}}V\).
- Return type:
Array
- ddV_cz(moduli, moduli_c, tau, tau_c, fluxes, noscale=True, conj=False)#
Returns the mixed second derivatives \(\partial_{I}\partial_{\bar{z}^j}V\) of the \(F\)-term scalar potential.
Details
Computed as
jacrev(dV, argnums=1)forconj=False(holomorphic–antiholomorphic) orjacrev(dV, argnums=0)forconj=True:\[(\texttt{ddV\_cz})_{I,\bar j} = \partial_I \partial_{\bar{z}^j} V\]This is the mixed block of the Hessian that contains the Riemann curvature contribution (see
_hessian_SUGRA()).- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Axio-dilaton value.tau_c (
complex) – Complex conjugate value for axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.noscale (
bool) – IfTrue, uses the no-scale flux scalar potential. Defaults toTrue.conj (
bool) – IfTrue, computes \(\partial_{\bar I}\partial_{z^j}V\). Defaults toFalse.
- Returns:
Array – Shape
(n, h12)with \(\partial_{I}\partial_{\bar{z}^j}V\).- Return type:
Array
- ddV_tau(moduli, moduli_c, tau, tau_c, fluxes, noscale=True, conj=False)#
Returns the second derivatives \(\partial_{I}\partial_{\tau}V\) of the \(F\)-term scalar potential.
Details
Computed as
jacrev(dV, argnums=2)forconj=Falseorjacrev(dV, argnums=3)forconj=True:\[(\texttt{ddV\_tau})_{I} = \partial_I \partial_\tau V\]- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Axio-dilaton value.tau_c (
complex) – Complex conjugate value for axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.noscale (
bool) – IfTrue, uses the no-scale flux scalar potential. Defaults toTrue.conj (
bool) – IfTrue, computes \(\partial_{\bar I}\partial_{\bar\tau}V\). Defaults toFalse.
- Returns:
Array – Shape
(n,)with \(\partial_{I}\partial_{\tau}V\).- Return type:
Array
- ddV_x(x, fluxes, noscale=True)#
Returns the second derivatives of the F-term scalar potential \(V\) with respect to the real scalar fields for real inputs.
Details
Let us denote the complex scalar fields as
\[z^i = a^i + \text{i} v^i\, ,\quad \tau = c_0 + \text{i} s\, .\]We introduce the fields
\[\phi^\alpha = (a^1,v^1,\ldots ,a^{h^{1,2}},v^{h^{1,2}},c_0,s)\, .\]Then this function computes
\[(\nabla \nabla V)_{\alpha\beta} = \partial_{\phi^\alpha}\partial_{\phi^\beta}V\, .\]Up to permutations, this function is equivalent to
_hessian_real(), but slightly faster.- Parameters:
x (
Array) – JAX array of shape (\(2(h^{1,2}+1)\),) containing the moduli and axio-dilaton as real and imaginary parts.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.noscale (
bool) – IfTrue, uses the no-scale flux scalar potential. Defaults toTrue.
- Returns:
Array – Value of \(\partial_{\phi^\alpha}\partial_{\phi^\beta}V\).
- Return type:
Array
See also:
V_x()
- ddV_z(moduli, moduli_c, tau, tau_c, fluxes, noscale=True, conj=False)#
Returns the holomorphic second derivatives \(\partial_{I}\partial_{z^j}V\) of the \(F\)-term scalar potential.
Details
Computed as
jacrev(dV, argnums=0)forconj=False(holomorphic–holomorphic) orjacrev(dV, argnums=1)forconj=True(antiholomorphic–antiholomorphic):\[(\texttt{ddV\_z})_{I,j} = \partial_I \partial_{z^j} V\]where \(I\) runs over all \(h^{1,2}+1\) fields \((z^i, \tau)\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Axio-dilaton value.tau_c (
complex) – Complex conjugate value for axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.noscale (
bool) – IfTrue, uses the no-scale flux scalar potential. Defaults toTrue.conj (
bool) – IfTrue, computes \(\partial_{\bar I}\partial_{\bar z^j}V\). Defaults toFalse.
- Returns:
Array – Shape
(n, h12)with \(\partial_{I}\partial_{z^j}V\).- Return type:
Array
- ddW(moduli, tau, fluxes, conj=False)#
Calculates the full second holomorphic derivatives \(W_{IJ}=\partial_I\partial_J W\) of the superpotential.
Details
Assembles the \((h^{1,2}+1)\times(h^{1,2}+1)\) matrix from the blocks
ddW_z_z(),ddW_z_tau(), andddW_tau_tau():\[\begin{split}W_{IJ} = \begin{pmatrix} W_{z^i z^j} & W_{z^i \tau} \\ W_{\tau z^j} & W_{\tau\tau} \end{pmatrix}\end{split}\]- Parameters:
moduli (
Array) – Complex structure moduli values.tau (
complex) – Value of the axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(W_{IJ}=\partial_{I}\partial_{J}W\).
- Return type:
Array
- ddW_tau_tau(moduli, tau, fluxes, conj=False)#
Calculates \(W_{\tau\tau}=\partial_\tau^2 W\).
Details
Since \(W\) is linear in \(\tau\), this vanishes identically: \(W_{\tau\tau} = 0\). Nevertheless, it is computed via
jacrevfor consistency with the autodiff framework.- Parameters:
moduli (
Array) – Complex structure moduli values.tau (
complex) – Value of the axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(W_{\tau \tau}=\partial_{\tau}\partial_{\tau}W\).
- Return type:
Array
- ddW_z_tau(moduli, tau, fluxes, conj=False)#
Calculates the mixed second derivative \(W_{i\tau}=\partial_{z^i}\partial_{\tau}W\) of the superpotential.
Details
Computed via
jacrev(dW_z, argnums=1). Shape(h12,).\[W_{i\tau} = \partial_{z^i}\partial_\tau W = -\partial_{z^i}(h^T\Pi)\]- Parameters:
moduli (
Array) – Complex structure moduli values.tau (
complex) – Value of the axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of \(W_{i \tau}=\partial_{z^i}\partial_{\tau}W\).
- Return type:
Array
- ddW_z_z(moduli, tau, fluxes, conj=False)#
Calculates the second holomorphic derivatives \(W_{ij}=\partial_{z^i}\partial_{z^j}W\) of the superpotential.
Details
Computed via
jacrevofdW_z(). Shape(h12, h12).\[W_{ij} = \partial_{z^i}\partial_{z^j}\int G_3 \wedge \Omega\]- Parameters:
moduli (
Array) – Complex structure moduli values.tau (
complex) – Value of the axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
complex – Value of \(W_{i j}=\partial_{z^i}\partial_{z^j}W\).
- Return type:
Array
- dddK(moduli, moduli_c, tau, tau_c)#
Returns the third holomorphic-mixed Kähler derivative \(\partial_{A} K_{C\bar{F}}\) with respect to the combined field-space index \(A = (z^i, \tau)\).
Details
Computes the holomorphic derivative of the Kähler metric \(K_{C\bar{F}} = \partial_C\partial_{\bar{F}} K\) with respect to each holomorphic direction \(A\):
\[(\texttt{dddK})_{C\bar{F}A} = \partial_A K_{C\bar{F}} = \partial_A \partial_C \partial_{\bar{F}} K\,.\]These third derivatives appear in the Christoffel symbols of the Kähler connection via
\[\Gamma^E_{AC} = K^{E\bar{F}}\,\partial_A K_{C\bar{F}} \,.\]- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
Array – Third Kähler derivative \(\partial_A K_{C\bar{F}}\) with shape
(n, n, n)and index ordering[C, F̄, A]wheren = h^{1,2} + 1.- Return type:
Array
See also:
kahler_metric(),christoffel_symbols()
- dddK_c(moduli, moduli_c, tau, tau_c)#
Returns the third anti-holomorphic-mixed Kähler derivative \(\partial_{\bar{B}} K_{C\bar{F}}\) with respect to the combined anti-holomorphic field-space index \(\bar{B} = (\bar{z}^i, \bar{\tau})\).
Details
Computes the anti-holomorphic derivative of the Kähler metric \(K_{C\bar{F}}\):
\[(\texttt{dddK\_c})_{C\bar{F}\bar{B}} = \partial_{\bar{B}} K_{C\bar{F}} = \partial_{\bar{B}} \partial_C \partial_{\bar{F}} K\,.\]These appear in the anti-holomorphic derivative of the inverse Kähler metric and in the Riemann curvature tensor.
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
Array – Third Kähler derivative \(\partial_{\bar{B}} K_{C\bar{F}}\) with shape
(n, n, n)and index ordering[C, F̄, B̄]wheren = h^{1,2} + 1.- Return type:
Array
See also:
kahler_metric(),riemann_tensor()
- flux_to_pfv(flux)#
Returns M- and K-vector specifying PFV from full flux vector.
- Parameters:
flux (
Array) – Flux-vector.- Returns:
M (Array) – M-vector.
K (Array) – K-vector.
- Return type:
Tuple[Array,Array]
- gauge_kinetic_matrix(moduli, moduli_c, conj=False)#
Computes the value of the gauge kinetic matrix \(\mathcal{N}\).
Note
This function descends from
jaxvacua.periods.periods.gauge_kinetic_matrix()upon gauge fixing, i.e., making a choice of homogeneous complex coordinates on the complex structure moduli space of \(X\).- Parameters:
moduli (
Array) – Values of the complex structure moduli.moduli_c (
Array) – Complex conjugate values of the complex structure moduli.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of the gauge kinetic matrix \(\mathcal{N}\).
- Return type:
Array
- Aliases:
- hessian(moduli, moduli_c, tau, tau_c, fluxes, noscale=True, mode=None)#
Returns the Hessian of the scalar potential.
Details
Explicitly, we compute the following second derivatives of the scalar potential,
\[V_{A\overline{B}}=\partial_{A}\partial_{\bar{B}} V \; ,\quad V_{AB}=\partial_{A}\partial_{B} V\, .\]We return the Hessian matrix
\[H = \left (\begin{array}{cc}V_{A\overline{B}} & V_{AC}\ V_{\overline{D}\overline{B}} & V_{\overline{D}C} \end{array}\right )\]This matrix is used to compute the mass spectrum from
mass_matrix().Note
We provide two computational modes which can be set via the optional argument
mode. If we compute the Hessian at generic points in moduli space, then we should usemode=Nonewhich is also the default. At SUSY minimum where \(D_I W=0\) for all fields, we can use a simplified version of the Hessian which is faster to evaluate. To do so, we have to usemode="SUSY"instead.Warning
When using
mode="SUSY", one should be cautious regarding numerical errors and noise.- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.noscale (
bool) – IfTrue, uses the no-scale flux scalar potential. Defaults toTrue.mode (
str) – The mode to compute the Hessian. Formode=None, returns the general Hessian from explicit second derivatives of the scalar potential. For"SUSY", computes Hessian at a SUSY locus assuming \(D_I W=0\) using standard SUGRA formulas for the Hessian. For"SUGRA", computes the Hessian from explicit SUGRA building blocks (\(D_I W\), \(K^{I\bar{J}}\), \(W\), \(\Gamma\), \(R\)) at generic points. See_hessian_SUGRA(). For"real", computes Hessian for the real and imaginary components of the complex scalar fields. Defaults toNone.
- Returns:
Array – Hessian matrix with entries \(\partial_{A}\partial_{\bar{B}} V\) and \(\partial_{A}\partial_{B} V\).
- Return type:
Array
- inverse_kahler_metric(moduli, moduli_c, tau, tau_c, mode='block diagonal')#
Returns the inverse Kähler metric \(K^{\overline{I}J}\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.mode (
str) – Description
- Returns:
Array – Inverse Kähler metric \(K^{\overline{I}J}\).
- Return type:
Array
See also:
kahler_metric()
- inverse_kahler_metric_grad(moduli, moduli_c, tau, tau_c, mode='block diagonal')#
Returns the gradient of the inverse Kähler metric.
Note
This function is currently not being used, but might turn out to be useful when taking derivatives of the F-terms \(F^i = K^{i\overline{j}}D_{\overline{j}}\overline{W}\). The output corresponds to the tuple
\[(\partial_{z^i}K^{\bar{J}L},\partial_{\overline{z}^i}K^{\bar{J}L},\partial_{\tau}K^{\bar{J}L},\partial_{\overline{\tau}}K^{\bar{J}L})\, .\]- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.mode (
str) – Description
- Returns:
Array – Gradient of the inverse Kähler metric \(\partial_{I}K^{\overline{J}L},\partial_{\overline{I}}K^{\overline{J}L}\).
- Return type:
Tuple[Array,Array,complex,complex]
See also:
kahler_metric()See also:
inverse_kahler_metric()
- kahler_metric(moduli, moduli_c, tau, tau_c, mode='block diagonal')#
Computes the Kähler metric \(K_{\overline{I}J}\).
Details
We assemble the various components of second derivatives obtained from
ddK_z_cz(),ddK_z_ctau(),ddK_cz_tau()andddK_tau_ctau()in such a way that\[\begin{split}K_{A\overline{B}}=\left (\begin{array}{cc} K_{i\overline{j}} & K_{i\overline{\tau}} \\[0.3em] K_{\tau\overline{j}} & K_{\tau\overline{\tau}} \end{array} \right )\end{split}\]Depending on the use case, we assume a block diagonal structure of the Kähler metric in which case the mixed second derivatives vanish \(K_{i\overline{\tau}}=K_{\tau\overline{j}}=0\).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.mode (
str) – Mode to compute the Kahler metric. Defaults to"block diagonal"meaning that there are no mixing terms between complex structure moduli and the axio-dilaton in the Kähler potential. If set toNoneinstead, the full set of 2nd derivatives of the Kähler potential is computed.
- Returns:
Array – Kähler metric \(K_{\overline{I}J}\).
- Raises:
ValueError – Wrong mode for computation. Only
mode=Noneandmode="block diagonal"are supported.- Return type:
Array
- kahler_potential(moduli, moduli_c, tau, tau_c)#
Returns the value of the Kähler potential.
Details
Let \(X\) be a Calabi-Yau threefold and \(\Omega_3\) its holomorphic \((3,0)\)-form. Then this function returns the value of the following integral:
\[K(z^i,\overline{z}^i,\tau,\overline{\tau})=-\log\bigl [-\text{i}(\tau-\overline{\tau})\bigr ]-\log\bigl [\mathcal{A}(z^i,\overline{z}^i)\bigr ]\]where \(\mathcal{A}(z^i,\overline{z}^i)\) is the mirror dual CY volume defined as
\[\mathcal{A}(z^i,\overline{z}^i)=-\text{i}\, \int_{X}\, \Omega_3\wedge \overline{\Omega}_3 = -\text{i}\, \Pi^\dagger(\overline{z}^i)\cdot \Sigma\cdot \Pi(z^i)\, .\]The period vector can be computed via
period_vector()orjaxvacua.periods.periods.period_vector_per().- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
complex – Value of the Kähler potential.
- Return type:
complex
- Aliases:
See also:
A()
- property lcs_tree#
Description: The
lcs_treeobject containing the topological data (intersection numbers, second Chern class, GV invariants, etc.) for the underlying Calabi-Yau geometry.- Returns:
lcs_tree – The topological data tree.
- map_to_fd(moduli, tau, fluxes, axion_fd=None, boundary_tol=1e-08)#
Maps a vacuum solution
(moduli, tau, fluxes)to the fundamental domain by:Mapping the axio-dilaton \(\tau\) to the \(\text{SL}(2,\mathbb{Z})\) fundamental domain via
map_to_fd_tau().Shifting the axion \(\text{Re}(z^a)\) into the range
(lo, hi]via integer monodromy transformations \(z^a \to z^a + n^a\).Snapping values within
boundary_tolof the excluded boundaryloto the included boundaryhi.
For conifold models (
coniLCS_seriesorconiLCS_bulk), the conifold modulus is left untouched because the logarithmic monodromy breaks integer periodicity. Withconifold_basis=Trueit is index 0; withconifold_basis=Falseit is the charge combinationq·z, so the axion shifts are computed in the conifold-aligned framez_al = Λ⁻ᵀ z(leavingz_al[0]fixed) and the integer shift is rotated back asn = Λᵀ n_al ∈ ker(q).- Parameters:
moduli (
Array) – Complex structure moduli values.tau (
complex) – Axio-dilaton value.fluxes (
Array) – Flux vector.axion_fd (
Optional[Tuple[float,float]]) – Range(lo, hi)for \(\text{Re}(z^a)\). Convention: \(\text{Re}(z^a) \in (lo, hi]\). IfNone, usesself.axion_fd(default(-0.5, 0.5)).boundary_tol (
float) – Points within this tolerance of the excluded boundaryloare snapped tohi. Default1e-8.
- Returns:
Tuple[Array, complex, Array] –
(moduli_fd, tau_fd, fluxes_fd)mapped to the fundamental domain.- Return type:
Tuple[Array,complex,Array]
See also:
map_to_fd_tau(),monodromy_matrix()
- map_to_fd_tau(tau, fluxes, return_SL2Z_matrix=False, cutoff=1000000000000000.0, verbose=False)#
Map of the axio-dilaton value and the flux vector to the fundamental domain (FD) of \(\text{SL}(2,\mathbb{Z})\).
Details
The axio-dilaton transforms as
\[\tau \rightarrow \dfrac{a\tau+b}{c\tau+d}\; ,\quad ad-bc=1\; ,\quad \Sigma = \left (\begin{array}{cc}a & b \ c & d \end{array} \right )\in \text{SL}(2,\mathbb{Z})\, .\]The flux vector of RR-flux \(f\) and NSNS-flux \(h\) transform as
\[\begin{split}\left (\begin{array}{c}f \ h \end{array} \right )\rightarrow\left (\begin{array}{c}a\, f+b\, h \\ c\, f+d\, h\end{array} \right )\, .\end{split}\]Given a value \(\tau_0\) for the axio-dilaton, we apply translations and S-duality transformations
\[\tau_0 \rightarrow \tau_0+b\; ,\quad \tau_0 \rightarrow -\dfrac{1}{\tau_0}\, ,\]until we find a value of \(\tau\) in the fundamental domain \(\mathcal{F}_{\text{SL}(2,\mathbb{Z})}\) of \(\text{SL}(2,\mathbb{Z})\) given by
\[\mathcal{F}_{\text{SL}(2,\mathbb{Z})} = \lbrace \tau\in\mathbb{C}:\, |\text{Re}(\tau)|\leq 0.5\, ,\, |\tau|\leq 1\rbrace \, .\]Note
Per default, this function only returns the value of the axio-dilaton and the fluxes. It is however also possible to return the \(\text{SL}(2,\mathbb{Z})\) transformation taking the input value \(\tau\) of the axio-dilaton to the fundamental domain.
- Parameters:
tau (
complex) – Axio-dilaton value.fluxes (
Array) – The flux vector used in the mapping.return_SL2Z_matrix (
bool) – IfTrue, also returns the \(\text{SL}(2,\mathbb{Z})\) matrix. Defaults toFalse.cutoff (
float) – Safety cutoff for the iteration count. Defaults to1e15.verbose (
bool) – IfTrue, enables verbose mode. Defaults toFalse.
- Returns:
Tuple –
(tau_fd, fluxes_fd)or(tau_fd, fluxes_fd, SL2Z_matrix)ifreturn_SL2Z_matrix=True. Returns(None, None)if the input is invalid.
- mass_matrix(moduli, moduli_c, tau, tau_c, fluxes, mode=None, noscale=True, use_real_derivatives=False)#
Returns the mass matrix after canonical normalisation of the kinetic terms.
Details
In the action, we expand the scalar potential \(V(\phi^A,\overline{\phi}^A)\) in terms of the fields \(\phi^A =(z^i, \tau)\) around a reference point \(\phi^A_0=(z^i_0,\tau_0)\)
\[V(\phi^A_0+\phi^A , \overline{\phi}^A_0+\overline{\phi}^A )=V_0+ (V_{B})_0 \phi^B+(V_{AB})_0 \phi^A\phi^B +(V_{\overline{A}B})_0 \phi^\overline{A}\phi^B+\text{c.c.} +\ldots\]where, by abuse of notation, we call the fluctuations collectively \(\phi^A\in\lbrace z^i,\tau\rbrace\), \(A=1,\ldots, h^{1,2}+1\). Further, we defined
\[V_0=V(\phi^A_0 , \overline{\phi}^A_0 )\; ,\quad (V_{B})_0 = \partial_{B}V(\phi^A_0 , \overline{\phi}^A_0 )\; ,\quad \ldots\]We are primarily interested in evaluating this function for vaccum solutions \(\phi^A_0=(z^i_0,\tau_0)\) in which case
\[(\partial_{B}V)_0 = 0 \; ,\quad (\partial_{\overline{B}}V)_0 = 0 \, .\]Further, in the case of vacua satisfying the \(F\)-term conditions \(D_A W=0\), we compute the vacuum energy
\[\begin{split}V_0= \begin{cases} -3\mathrm{e}^{K}\, |W|^2 & \text{full potential}\\ 0 & \text{no-scale potential}\, . \end{cases}\end{split}\]In particular, for no-scale models like for type IIB flux vacua, we find a vanishing cosmological constant. In this case, by introducing \(\Phi^{\Lambda}=(\phi^A,\overline{\phi}^{\overline{B}})\), the above becomes
\[V(\phi^A_0+\phi^A , \overline{\phi}^A_0+\overline{\phi}^A )=\Phi^{\Lambda}H_{\Lambda\overline{\Delta}}(\phi^A_0 , \overline{\phi}^A_0 )\overline{\Phi}^{\overline{\Delta}} +\ldots\]where \(H_{\Lambda\overline{\Delta}}(\phi^A_0 , \overline{\phi}^A_0 )\) is the Hessian evaluated at the minimum which is determined as (see
hessian())\[\begin{split}H_{\Lambda\overline{\Delta}}(\phi^A_0,\overline{\phi}^A_0) = \left (\begin{array}{cc}V_{A\overline{B}} \;&\; V_{AC}\\[0.3em] V_{\overline{D}\overline{B}} \;&\; V_{\overline{D}C} \end{array}\right ) \, .\end{split}\]To obtain the mass matrix, we first perform a change of basis by diagonalising \(K_{A\overline{B}}\). That is, we compute the matrix \(\tilde{U}\) of normalised eigenvectors of \(K_{A\overline{B}}\). Then, in order to define a canonically normalised basis of fields \(\psi^A\), we define
\[U=\text{diag}(\sqrt{\lambda_1},\ldots ,\sqrt{\lambda_{h^{1,2}+1}})\, \tilde{U}\]so that
\[\phi^A = U^{A}\,_{B} \psi^B\]and thus
\[K_{A\overline{B}}\partial \phi^A\partial \overline{\phi}^B = \delta_{A\overline{B}}\partial \psi^A\partial \overline{\psi}^B \, .\]Warning
Notice that by definition \(U\) is clearly not a unitary matrix anymore because its determinant does not necessarily satisfy \(|\text{det}(U)|=1\).
Then, the mass matrix for the canonically normalised fields is defined as
\[M = \mathbb{U} H \mathbb{U}^{\dagger}\, , \quad \mathbb{U} = \left (\begin{array}{cc}U^{A\overline{B}} \;&\; 0\[0.3em] 0 \;&\; U^{\overline{D}C} \end{array}\right )\]or, in components,
\[\begin{split}M = \left (\begin{array}{cc}U_{E}\,^{A} V_{A\overline{B}}U^{\overline{B}}\,_{\overline{F}} \quad&\quad U_{E}\,^{A}V_{AC}U^{C}\,_{F}\\[0.8em] U_{\overline{E}}\,^{\overline{D}}V_{\overline{D}\overline{B}}U^{\overline{B}}\,_{\overline{F}} \quad&\quad U_{\overline{E}}\,^{\overline{D}}V_{\overline{D}C}U^{C}\,_{F} \end{array}\right ) \, .\end{split}\]- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – : Value of axio-dilaton.tau_c (
complex) – Value of complex conjugate axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.mode (
str) – The mode to compute the mass matrix. Formode=None, uses the general Hessian from explicit second derivatives of the scalar potential. Formode="SUSY", computes Hessian at a SUSY locus assuming \(D_I W=0\) using standard SUGRA formulas for the Hessian. For"real", calculates Hessian for the real and imaginary components of the complex scalar fields. Defaults toNone.
- Returns:
Array – Mass matrix of the canonically normalised fields.
- Return type:
Array
- mirror_volume(moduli, moduli_c)#
Returns the value of the mirror dual Calabi-Yau volume.
Details
Let \(X\) be a Calabi-Yau threefold and \(\Omega_3\) its holomorphic \((3,0)\)-form. Then this function returns the value of the following integral:
\[\mathcal{A}(z^i,\overline{z}^i)=-\text{i}\, \int_{X}\, \Omega_3\wedge \overline{\Omega}_3 = -\text{i}\, \Pi^\dagger(\overline{z}^i)\cdot \Sigma\cdot \Pi(z^i)\]This object appears as the argument inside the Kähler potential, see
kahler_potential(). Given that it is dual to the volume of the mirror Calabi-Yau threefold \(\widetilde{X}\), it is manifestly positive, provided the Kähler cone conditions of \(\widetilde{X}\) are satisfied.- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.
- Returns:
complex – Mirror dual Calabi-Yau volume.
- Return type:
complex
- Aliases:
See also:
period_vector()See also:
kahler_potential()
- moduli_to_periods(moduli, conj=False)#
Transforms complex structure moduli to periods for the global choice of gauge.
- Parameters:
moduli (
Array) – Values of the complex structure moduli.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of the periods.
- Return type:
Array
- monodromy_matrix(n)#
Computes the monodromy matrix \(T(\vec{n})\) for a general integer shift \(z^a \to z^a + n^a\).
This is the product \(T(\vec{n}) = \prod_b T_b^{n_b}\). The LCS monodromy matrices commute (maximally unipotent monodromy), so the order does not matter.
- Parameters:
n (array-like) – Integer shift vector of shape
(h12,).- Returns:
np.ndarray – Integer monodromy matrix of shape
(2*h12+2, 2*h12+2).- Return type:
ndarray
See also:
monodromy_matrix_single()
- monodromy_matrix_single(b)#
Computes the monodromy matrix \(T_b\) for the shift \(z^b \to z^b + 1\).
The period vector transforms as \(\Pi \to T_b \cdot \Pi\).
At LCS, uses the analytical formula from the intersection numbers, a-matrix, and b-vector. For other limits, falls back to a numerical computation via the period vector.
Note
The monodromy matrices receive no instanton corrections: the instanton sum \(F_{\mathrm{inst}}\) involves \(e^{2\pi i q_a z^a}\) which is invariant under \(z^a \to z^a + 1\).
- Parameters:
b (
int) – Index of the modulus to shift (0-based:b = 0, ..., h12-1).- Returns:
np.ndarray – Integer monodromy matrix of shape
(2*h12+2, 2*h12+2).- Return type:
ndarray
See also:
monodromy_matrix(),verify_monodromy()
- period_vector(moduli, conj=False)#
Returns the period vector \(\Pi\) at a given point in moduli space.
Details
We introduce a symplectic basis of \(\{\Sigma_{I},\Sigma^I\} \subset H_3(X,\mathbb{Z})\) together with the corresponding Poincaré dual forms \(\{\alpha^I,\beta_I\}\). We then define the periods by integrating the holomorphic \(3\)-form \(\Omega\) over these cycles,
\[X^I=\int_{\Sigma_{I}}\Omega=\int_{X} \Omega\wedge \alpha^I\, ,\quad \mathcal{F}_I=\int_{\Sigma^I}\Omega=\int_{X} \Omega \wedge \beta_I \, .\]We collect the periods \(X^I,\mathcal{F}_I\) in the period vector \(\Pi\), that is,
\[\begin{split}\Pi=\left (\begin{array}{c} \mathcal{F}_I\\ X^I \end{array}\right )\, I=0,1,\ldots,h^{1,2}\, .\end{split}\]The periods \(X^I\) serve as homogeneous complex coordinates on a local patch of the complex structure moduli space of \(X\). Away from the locus \(X^0=0\), we introduce projective coordinates
\[z^i =\dfrac{X^i}{X^0}\, , i=1,\ldots,h^{2,1}(X)\, ,\]and normalise \(\Omega\) such that \(X^0=1\). The dual periods \(\mathcal{F}_I=\mathcal{F}_I(z^i)\) are then determined by a prepotential \(F(z^i)\) through
\[\mathcal{F}_i(z^i)=\partial_{z^i} F \, ,\quad \mathcal{F}_0 =2F-z^i\partial_{z^i}F\, .\]The period vector can then be computed from the derivatives of the prepotential \(F(z^i)\) as follows
\[\begin{split}\Pi(z^1,\ldots , z^{h^{1,2}})=\left (\begin{array}{c} 2F-F_i z^i\\ F_i\\ 1\\ z^i \end{array}\right )\, i=1,\ldots,h^{1,2}\, .\end{split}\]Here, we make use of standard identities for computing periods in terms of the projective coordinates directly.
Note
To compute the period vector in terms of the periods directly, please use
jaxvacua.periods.periods.period_vector_per().- Parameters:
moduli (
Array) – Complex structure moduli values.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
Array – Value of the period vector \(\Pi\).
- Return type:
Array
See also:
prepot()See also:
dF()
- periods_to_moduli(XPer)#
Transforms periods to complex structure moduli.
- Parameters:
XPer (
Array) – Values of the periods.- Returns:
Array – Value of the complex structure moduli.
- Return type:
Array
- pfv_to_flux(M, K)#
Returns full flux vector from M- and K-vector specifying PFV.
- Parameters:
M (
Array) – M-vector.K (
Array) – K-vector.
- Returns:
Array – Flux vector.
- Return type:
Array
- pfv_to_moduli(M, K, tau)#
Returns values of the complex structure moduli at the level of the PFV.
- Parameters:
M (
Array) – M-vector.K (
Array) – K-vector.tau (
complex) – Axio-dilaton value.
- Returns:
Array – Values of complex structure moduli.
- Return type:
Array
- prepot(moduli, conj=False)#
Computes the pre-potential for given values of the moduli.
Note
We return the value of the pre-potential in terms projective coordinates
\[z^{i}=\frac{X^i}{X^0}\, .\]Per default, we work in the gauge choice \(X^0=1\), but other gauge choices can be provided as inputs.
Note
We provide the option to compute the pre-potential and some additional functions in terms of the periods directly, see in particular
jaxvacua.periods.periods.F_LCS_per(),jaxvacua.periods.periods.prepot_per()andjaxvacua.periods.periods.period_vector_per().Warning
The moduli space limit around which the pre-potential is computed is set by the global parameter
self.periods.limit. Currently, onlyself.periods.limit="LCS"is supported.- Parameters:
moduli (
Array) – Complex structure moduli values.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.
- Returns:
complex – Value of the prepotential \(F(z^i)\).
- Return type:
complex
- Errors:
ValueError: If the moduli space limit is not identified.
- Aliases:
See also:
prepot_per()
- projection_fluxes(moduli, tau, fluxes, mode=None)#
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.
Details
The complexified 3-form flux decomposes as
\[G_3 = G_3^{(3,0)} + G_3^{(2,1)} + G_3^{(1,2)} + G_3^{(0,3)}\]The ISD condition (imaginary self-dual) requires \(G_3^{(3,0)} = G_3^{(1,2)} = 0\). At a SUSY minimum, additionally \(G_3^{(0,3)} = 0\), leaving only the \((2,1)\)-component.
For
mode="SUSY", returns only the \((2,1)\) and \((0,3)\) components.- Parameters:
moduli (
Array) – Values for the complex structure moduli.tau (
complex) – Value of the axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.mode (
str) – Ifmode="SUSY", returns only \((2,1)\) and \((0,3)\) components.
- Returns:
Array – \((3,0)\)-component of the 3-form flux.
Array – \((2,1)\)-component of the 3-form flux.
Array – \((1,2)\)-component of the 3-form flux.
Array – \((0,3)\)-component of the 3-form flux.
- riemann_tensor(moduli, moduli_c, tau, tau_c)#
Returns the Riemann curvature tensor \(R_{i\bar{\jmath}k\bar{l}}\) of the Kähler moduli space.
Details
The Riemann tensor of a Kähler manifold can be expressed in terms of the Kähler metric and its derivatives as
\[R_{i\bar{\jmath}k\bar{l}} = \partial_k\partial_{\bar{l}} K_{i\bar{\jmath}} - K^{m\bar{n}}\, (\partial_k K_{i\bar{n}})\, (\partial_{\bar{l}} K_{m\bar{\jmath}})\,.\]The first term is the fourth mixed Kähler derivative \(K_{i\bar{\jmath}k\bar{l}} = \partial_k\partial_{\bar{l}} K_{i\bar{\jmath}}\), while the second subtracts the Christoffel-symbol contraction.
The tensor satisfies the Kähler symmetry
\[R_{i\bar{\jmath}k\bar{l}} = R_{k\bar{\jmath}i\bar{l}}\,.\]It enters the Hessian of the \(\mathcal{N}=1\) supergravity scalar potential at generic points in moduli space (see e.g. hep-th/0411183, Eq. 2.3).
- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Value of the axio-dilaton.tau_c (
complex) – Complex conjugate value of the axio-dilaton.
- Returns:
Array – Riemann tensor \(R_{i\bar{\jmath}k\bar{l}}\) with shape
(n, n, n, n)and index ordering[i, j̄, k, l̄].- Return type:
Array
See also:
christoffel_symbols(),dddK(),dddK_c()
- scalar_potential(moduli, moduli_c, tau, tau_c, fluxes, noscale=True, normalise=False)#
Returns the value of the \(F\)-term scalar potential.
Details
The \(F\)-term scalar potential in 4D \(\mathcal{N}=1\) supergravity is given by
\[V_F=\mathrm{e}^{K}\,\bigl (K^{I\bar{J}}\, D_IW\, D_{\bar{J}} \overline{W}-3|W|^2\bigl )\, .\]Here, the indices \(I = (1,\ldots,h^{1,2}+1)\) run only over the axio-dilaton and the complex structure moduli ignoring the Kähler moduli. Due to the no-scale structure of the classical Kähler potential, the term \(-3|W|^2\) is cancelled by the Kähler moduli sector giving rise to the no-scale flux scalar potential
\[V_F=\mathrm{e}^{K}\, K^{I\bar{J}}\, D_IW\, D_{\bar{J}} \overline{W}\, .\]In more detail, we have at the level of the classical \(\mathcal{N}=2\) Kähler potential for the axio-dilaton \(\tau\) and the complex structure moduli \(z^{i}\)
\[V_F=\mathrm{e}^{K}\, \bigl (K^{i\bar{\jmath}}\, D_iW\, D_{\bar{\jmath}} \overline{W} +K^{\tau\bar{\tau}}\, D_\tau W\, D_{\bar{\tau}} \overline{W}\bigl )\, .\]- Parameters:
moduli (
Array) – Complex structure moduli values.moduli_c (
Array) – Complex conjugate values for complex structure moduli.tau (
complex) – Axio-dilaton value.tau_c (
complex) – Complex conjugate value for axio-dilaton.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.noscale (
bool) – IfTrue, uses the no-scale flux scalar potential. Defaults toTrue.normalise (
bool) – IfTrue, rescales superpotential by \(\sqrt{2/\pi}\). Defaults toFalse.
- Returns:
complex – Value of the \(F\)-term scalar potential induced by 3-form fluxes.
- Return type:
complex
- Aliases:
See also:
DW()See also:
inverse_kahler_metric()See also:
kahler_potential()
- superpotential(moduli, tau, fluxes, conj=False, normalise=False)#
Calculates the value of the superpotential for given flux, moduli and axio-dilaton.
Details
For a Calabi-Yau manifold \(X\), the Gukov-Vafa-Witten superpotential hep-th/9906070 is defined in terms of the complex 3-form flux \(G_3=F_3-\tau H_3\) and the holomorphic 3-form \(\Omega_3\) as
\[W(Z,\tau) = \int_{X} \, G_3\wedge \Omega_3 = (\vec{f}-\tau\vec{h})^T\cdot\Sigma\cdot\Pi(Z)\]following the conventions of eq. (4) in 1912.10047. The period vector \(\Pi\) and the symplectic pairing \(\Sigma\) are defined in the periods class
jaxvacua.periods.periods().- Parameters:
moduli (
Array) – Complex structure moduli values.tau (
complex) – Axio-dilaton value.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.normalise (
bool) – IfTrue, rescales superpotential by \(\sqrt{2/\pi}\). Defaults toFalse.
- Returns:
complex – Value of the superpotential.
- Return type:
complex
- superpotential_gauge_invariant(moduli, tau, fluxes, conj=False, normalise=True)#
Calculates the value of the gauge invariant version of the flux superpotential.
Details
Following the conventions of 1912.10047, we define the gauge invariant version of the superpotential as
\[\tilde{W} = \sqrt{\dfrac{2}{\pi}}\, \mathrm{e}^{K/2}\, W\]Its absolute value is proportional to the gravitino mass. The normalisation is taken from 1908.04788.
- Parameters:
moduli (
Array) – Complex structure moduli values.tau (
complex) – Axio-dilaton value.fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.conj (
bool) – IfTrue, computes the complex conjugate. Defaults toFalse.normalise (
bool) – IfTrue, rescales superpotential by \(\sqrt{2/\pi}\). Defaults toTrue.
- Returns:
complex – Value of the gauge invariant superpotential.
- Return type:
complex
See also:
superpotential()See also:
kahler_potential()
- tadpole(fluxes)#
Calculates the D3-charge for given fluxes.
Details
The D3-charge induced by fluxes is defined as
\[N_{\mathrm{flux}} = \vec{f}\Sigma \vec{h}\, ,\]where :math`vec{f}, vec{h}` are the NSNS- and RR-fluxes respectively. The symplectic pairing \(\Sigma\) is implemented in the periods class
jaxvacua.periods.periods().- Parameters:
fluxes (
Array) – Array of fluxes. The ordering starts with RR-fluxes, then the NSNS-fluxes.- Returns:
int – D3-charge induced by 3-form fluxes.
- Return type:
float
- verify_monodromy(b, z=None, tol=1e-08)#
Numerically verify the monodromy matrix by checking \(T_b \cdot \Pi(z) = \Pi(z + e_b)\).
- Parameters:
b (
int) – Direction index for the shift.z (Array, optional) – Test point. If
None, a random point is generated.tol (
float) – Tolerance for the check.
- Returns:
dict – Dictionary with keys
'T_b','max_error','passed'.- Return type:
dict