jaxvacua.css.css#
- class css(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, gauge_choice=1 + 0j, prange=5, use_gvs=True, save_file=False, **kwargs)#
Bases:
object- __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, gauge_choice=1 + 0j, prange=5, use_gvs=True, save_file=False, **kwargs)#
This class defines the complex structure sector in Type IIB orientifold compactifications. It contains a class object of type
jaxvacua.periods.periodsto compute periods, the prepotential, the gauge kinetic matrix etc. The moduli space limit (LCS, coniLCS, etc.) is selected via thelimitparameter.- 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|str|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 (
Optional[cytools.CalabiYau]) – 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.save_file (
bool) – Save files for new models. Defaults toFalse.**kwargs – Extra inputs.
- dimension_H3#
Dimension of \(H^{3}(X,\mathbb{Z})\).
- Type:
int
- _dimension_H3_tot#
Dimension of \(H^{3}(X,\mathbb{Z})\) plus dimension of \(H_{3}(X,\mathbb{Z})\).
- Type:
int
- gauge_choice#
Choice of gauge for projective coordinates.
- Type:
complex
- gauge_choice_conj#
Choice of gauge for conjugate projective coordinates.
- Type:
complex
- h12#
Hodge number h12 of the Calabi-Yau setting the number of complex structure moduli.
- Type:
int
Methods
A(moduli, moduli_c)Returns the value of the mirror dual Calabi-Yau volume.
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\).
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_tilde(moduli, moduli_c)Returns the value of the mirror dual Calabi-Yau volume.
__init__([h12, model_ID, model_type, limit, ...])This class defines the complex structure sector in Type IIB orientifold compactifications. It contains a class object of type
jaxvacua.periods.periodsto compute periods, the prepotential, the gauge kinetic matrix etc. The moduli space limit (LCS, coniLCS, etc.) is selected via thelimitparameter.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.
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.
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\).
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\).
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})\).
gauge_kinetic_matrix(moduli, moduli_c[, conj])Computes the value of the gauge kinetic matrix \(\mathcal{N}\).
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.
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.
prepot(moduli[, conj])Computes the pre-potential for given values of the moduli.
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.
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.
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.- 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()
- 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()
- 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_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()
- 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()
- 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.
- 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
- 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
- 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()
- 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:
- 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.
- 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
- 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()
- 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()
- 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