jaxvacua.periods.periods#

class periods(h12=None, model_ID=None, model_type='KS', limit='LCS', save_file=False, use_cytools=False, mirror_cy=None, lcs_tree_input=None, model_file='', model_data=None, basis_change=None, maximum_degree=0, grading_vector=None, use_gvs=True, prange=5, ncf=None, conifold_curve=None, conifold_basis=True, period_input=None, prepotential_input=None, **kwargs)#

Bases: object

Period class for Calabi-Yau threefold compactifications. Provides functions to compute periods, prepotential, Kähler potential, gauge kinetic matrix, and derived objects at various moduli space limits (LCS, coniLCS, etc.).

__init__(h12=None, model_ID=None, model_type='KS', limit='LCS', save_file=False, use_cytools=False, mirror_cy=None, lcs_tree_input=None, model_file='', model_data=None, basis_change=None, maximum_degree=0, grading_vector=None, use_gvs=True, prange=5, ncf=None, conifold_curve=None, conifold_basis=True, period_input=None, prepotential_input=None, **kwargs)#

Period class.

This class defines functions of the periods of Calabi-Yau threefolds \(X\). They are obtained from integrating the holomorphic 3-form \(\Omega\) over a symplectic basis of \(H_3(X,\mathbb{Z})\).

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.

  • 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 (object | 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.

  • lcs_tree_input (object | None) – Pre-built lcs_tree object. If provided, skips model construction. Defaults to None.

  • ncf (int | None) – Number of conifolds for the coniLCS limit. Defaults to None.

  • conifold_curve (object | None) – Conifold curve charges. Defaults to None.

  • prange (int) – Truncation order for the polylogarithm series. Defaults to 500.

  • use_gvs (bool) – Whether to use GV invariants instead of GW invariants for the instanton sum. Defaults to False.

  • period_input (Optional[Callable]) – Input for periods.

  • prepotential_input (Optional[Callable]) – Input for prepotential.

  • save_file (bool) – Save files for new models. Defaults to False.

  • **kwargs – Extra inputs.

Raises:

ValueError – If model inputs are inconsistent or required data is missing.

h12#

\(h^{1,2}(X,\mathbb{Z})\) of the CY \(X\).

Type:

int

model_type#

Model type. Defaults to None. Currently, "KS" and "CICY" are available.

Type:

str

limit#

Moduli space limit. Defaults to None. Currently, only "LCS" is available.

Type:

str

model_ID#

Internal model ID. Defaults to None.

Type:

int

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

period_input#

Input period function.

Type:

object

prepotential_input#

Input prepotential function.

Type:

object

Methods

A_per(XPer, cXPer)

Computes the value of the mirror CY volume \(\tilde{\mathcal{V}}\) as a function of the periods \(X^I\).

D_period_vector_per(XPer, cXPer[, conj])

Computes the Kähler convariant derivative \(D_I\Pi\). of the period vector \(\Pi\).

F_LCS_per(XPer[, conj])

Calculates the value of the LCS prepotential \(F_{\text{LCS}}\) in terms of the periods \(X^I\).

F_LCS_poly_per(XPer[, conj])

Computes the polynomial part \(F_{\mathrm{poly}}\) of the LCS prepotential \(F_{\mathrm{LCS}}\) in terms of the periods.

F_inst_per(XPer[, conj])

Computes the instanton part \(F_{\mathrm{inst}}\) of the LCS prepotential \(F_{\mathrm{LCS}}\) in terms of the periods.

ISD_matrix(XPer, cXPer)

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

M(XPer, cXPer)

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

N(XPer, cXPer[, conj])

Computes the value of the gauge kinetic matrix \(\mathcal{N}\).

PQ_per(XPer, cXPer[, conj])

Computes the matrices \(P_{IJ}\) and \(Q^{I}\,_{J}\).

P_per(XPer, cXPer[, conj])

Computes the matrix \(P_{IJ}\).

Q_inv_per(XPer, cXPer[, conj])

Computes the inverse of the matrix \(Q^{I}\,_{J}\).

Q_per(XPer, cXPer[, conj])

Computes the matrix \(Q^{I}\,_{J}\).

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

Period class.

compute_a_shift_monodromy(shift)

Symplectic monodromy matrix induced by a shift of the prepotential \(a\)-matrix, \(a \to a + S\).

dM(XPer, cXPer)

Returns the holomorphic derivative \(\partial_{X^I}\mathcal{M}\) of the ISD-matrix \(\mathcal{M}\) with respect to the periods \(X^I\).

dM_c(XPer, cXPer)

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(XPer, cXPer[, 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(XPer, cXPer[, 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\).

gauge_kinetic_matrix(XPer, cXPer[, conj])

Computes the value of the gauge kinetic matrix \(\mathcal{N}\).

gauge_kinetic_matrix_periods(XPer, cXPer[, conj])

Computes value of the gauge kinetic matrix \(\mathcal{N}\) from periods.

gauge_kinetic_matrix_prepotential(XPer, cXPer)

Computes value of the gauge kinetic matrix \(\mathcal{N}\) from prepotential.

grad_kahler_potential_per(XPer, cXPer[, conj])

Computes derivatives \(\partial_{X^I}K\) of the Kähler potential \(K\) with respect to the periods :mathh`X^I`.

grad_period_vector_per(XPer[, conj])

Computes derivatives \(\partial_{X^I}\Pi\) of the period vector \(\Pi\) with respect to the periods :mathh`X^I`.

kahler_potential_per(XPer, cXPer)

Computes the value of the Kähler potential \(K\) as a function of the periods \(X^I\).

period_vector_per(XPer[, conj])

Computes the period vector \(\Pi\) in terms of the periods \(X^I\).

prepot_grad_grad_per(XPer[, conj])

Computes the second holomorphic derivatives \(F_{IJ}=\partial_{X^I}\partial_{X^J}F\) of the prepotential \(F\) with respect to the periods \(X^I\).

prepot_grad_per(XPer[, conj])

Computes the holomorphic derivatives \(F_{I}=\partial_{X^I}F\) of the prepotential \(F\) with respect to the periods \(X^I\).

prepot_per(XPer[, conj])

Computes the prepotential \(F\) in terms of the periods \(X^I\).

sigma()

Returns the symplectic matrix

Attributes

F_coniLCS_bulk_per

** 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_per

** 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_poly_split_per

** 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_per

** 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_coni_per

** 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_inst_per_coni

** 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_poly_per

** Class-level descriptor: surfaces a method only when the instance's limit is in the coniLCS family. Otherwise raises AttributeError so hasattr() returns False.

ddF_coniLCS_poly_per

** Class-level descriptor: surfaces a method only when the instance's limit is in the coniLCS family. Otherwise raises AttributeError so hasattr() returns False.

dddF_coniLCS_poly_per

** Class-level descriptor: surfaces a method only when the instance's limit is in the coniLCS family. Otherwise raises AttributeError so hasattr() returns False.

ddddF_coniLCS_poly_per

** Class-level descriptor: surfaces a method only when the instance's limit is in the coniLCS family. Otherwise raises AttributeError so hasattr() returns False.

delete_coni_index

** Class-level descriptor: surfaces a method only when the instance's limit is in the coniLCS family. Otherwise raises AttributeError so hasattr() returns False.

lcs_tree

Description: The underlying lcs_tree object holding the CY model data.

A_per(XPer, cXPer)#

Computes the value of the mirror CY volume \(\tilde{\mathcal{V}}\) as a function of the periods \(X^I\).

Parameters:
  • XPer (Array) – Values of periods.

  • cXPer (Array) – Complex conjugate values of periods.

Returns:

Array – Value of the mirror CY volume in terms of the period \(X^I\).

Return type:

complex

D_period_vector_per(XPer, cXPer, conj=False)#

Computes the Kähler convariant derivative \(D_I\Pi\). of the period vector \(\Pi\).

Parameters:
  • XPer (Array) – Values of periods.

  • cXPer (Array) – Complex conjugate values of periods.

  • conj (bool) – If True, computes the complex conjugate. Defaults to False.

Returns:

Array – Values of \(D_I\Pi\).

Return type:

Array

F_LCS_per(XPer, conj=False)#

Calculates the value of the LCS prepotential \(F_{\text{LCS}}\) in terms of the periods \(X^I\).

Parameters:
  • XPer (Array) – Values of periods.

  • conj (bool) – If True, computes the complex conjugate. Defaults to False.

Returns:

complex – Value of the LCS prepotential \(F_{\text{LCS}}\).

Return type:

complex

See also: F_LCS_poly_per()

See also: F_inst_per()

F_LCS_poly_per(XPer, conj=False)#

Computes the polynomial part \(F_{\mathrm{poly}}\) of the LCS prepotential \(F_{\mathrm{LCS}}\) in terms of the periods.

Parameters:
  • XPer (Array) – Values of periods.

  • conj (bool) – If True, computes the complex conjugate. Defaults to False.

Returns:

complex – Value of the polynomial contribution \(F_{\mathrm{poly}}\) to the LCS prepotential \(F_{\mathrm{LCS}}\).

Return type:

complex

See also: F_LCS_per()

F_inst_per(XPer, conj=False)#

Computes the instanton part \(F_{\mathrm{inst}}\) of the LCS prepotential \(F_{\mathrm{LCS}}\) in terms of the periods.

Parameters:
  • XPer (Array) – Values of periods.

  • conj (bool) – If True, computes the complex conjugate. Defaults to False.

Returns:

complex – Value of the instanton part \(F_{\mathrm{inst}}\) of the LCS prepotential \(F_{\mathrm{LCS}}\).

Return type:

complex

See also: F_LCS_per()

ISD_matrix(XPer, cXPer)#

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

Warning

Our convention differs slightly from that of Eq. (3.7) in 2310.06040 due to the ordering of periods in the period vector. Specifically, we have

\[\mathcal{M}_{\mathrm{here}} = \mathcal{M}_{\mathrm{there}}^{-1}\, .\]
Parameters:
  • XPer (Array) – Values of periods.

  • cXPer (Array) – Complex conjugate values of periods.

Returns:

Array – Value of the ISD-matrix \(\mathcal{M}\).

Return type:

Array

Aliases:

M()

M(XPer, cXPer)#

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

Warning

Our convention differs slightly from that of Eq. (3.7) in 2310.06040 due to the ordering of periods in the period vector. Specifically, we have

\[\mathcal{M}_{\mathrm{here}} = \mathcal{M}_{\mathrm{there}}^{-1}\, .\]
Parameters:
  • XPer (Array) – Values of periods.

  • cXPer (Array) – Complex conjugate values of periods.

Returns:

Array – Value of the ISD-matrix \(\mathcal{M}\).

Return type:

Array

Aliases:

M()

N(XPer, cXPer, conj=False)#

Computes the value of the gauge kinetic matrix \(\mathcal{N}\).

Parameters:
  • XPer (Array) – Values of periods.

  • cXPer (Array) – Complex conjugate values of periods.

  • conj (bool) – If True, computes the complex conjugate. Defaults to False.

Returns:

Array – Value of the gauge kinetic matrix \(\mathcal{N}\).

Return type:

Array

PQ_per(XPer, cXPer, conj=False)#

Computes the matrices \(P_{IJ}\) and \(Q^{I}\,_{J}\).

Parameters:
  • XPer (Array) – Values of periods.

  • cXPer (Array) – Complex conjugate values of periods.

  • conj (bool) – If True, computes the complex conjugate. Defaults to False.

Returns:
  • Array – Values of \(P_{IJ}\).

  • Array – Values of \(Q^{I}\,_{J}\).

Return type:

Tuple[Array, Array]

P_per(XPer, cXPer, conj=False)#

Computes the matrix \(P_{IJ}\).

Parameters:
  • XPer (Array) – Values of periods.

  • cXPer (Array) – Complex conjugate values of periods.

  • conj (bool) – If True, computes the complex conjugate. Defaults to False.

Returns:

Array – Values of \(P_{IJ}\).

Return type:

Array

Q_inv_per(XPer, cXPer, conj=False)#

Computes the inverse of the matrix \(Q^{I}\,_{J}\).

Parameters:
  • XPer (Array) – Values of periods.

  • cXPer (Array) – Complex conjugate values of periods.

  • conj (bool) – If True, computes the complex conjugate. Defaults to False.

Returns:

Array – Values of \((Q^{-1})^{I}\,_{J}\).

Return type:

Array

Q_per(XPer, cXPer, conj=False)#

Computes the matrix \(Q^{I}\,_{J}\).

Parameters:
  • XPer (Array) – Values of periods.

  • cXPer (Array) – Complex conjugate values of periods.

  • conj (bool) – If True, computes the complex conjugate. Defaults to False.

Returns:

Array – Values of \(Q^{I}\,_{J}\).

Return type:

Array

compute_a_shift_monodromy(shift)#

Symplectic monodromy matrix induced by a shift of the prepotential \(a\)-matrix, \(a \to a + S\).

Parameters:

shift (Array) – Symmetric \((h^{1,2}, h^{1,2})\) shift matrix \(S = a' - a\).

Returns:
  • Array – The \((2(h^{1,2}+1), 2(h^{1,2}+1))\) symplectic monodromy

  • matrix :math:`M (S)

Return type:

Array

See also: sigma(), period_vector_per(),

jaxvacua.conifold.compute_a_matrix()

dM(XPer, cXPer)#

Returns the holomorphic derivative \(\partial_{X^I}\mathcal{M}\) of the ISD-matrix \(\mathcal{M}\) with respect to the periods \(X^I\).

Parameters:
  • XPer (Array) – Values of periods.

  • cXPer (Array) – Complex conjugate values of periods.

Returns:

Array – Holomorphic derivative \(\partial_{X^I}\mathcal{M}\) of the ISD-matrix \(\mathcal{M}\).

Return type:

Array

dM_c(XPer, cXPer)#

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\).

Parameters:
  • XPer (Array) – Values of periods.

  • cXPer (Array) – Complex conjugate values of periods.

Returns:

Array – Anti-holomorphic derivative \(\partial_{\overline{X}^I}\mathcal{M}\) of the ISD-matrix \(\mathcal{M}\).

Return type:

Array

dN(XPer, cXPer, 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\).

Parameters:
  • XPer (Array) – JAX array of shape (\(h^{1,2}+1\), ) containing the value of the periods.

  • cXPer (Array) – JAX array of shape (\(h^{1,2}+1\), ) containing the complex conjugate value of the periods.

  • conj (bool) – If True, computes the complex conjugate. Defaults to False.

Returns:

Array – Holomorphic derivative \(\partial_{X^I}\mathcal{N}\) of the gauge kinetic matrix \(\mathcal{N}\).

Return type:

Array

dN_c(XPer, cXPer, 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\).

Parameters:
  • XPer (Array) – JAX array of shape (\(h^{1,2}+1\), ) containing the value of the periods.

  • cXPer (Array) – JAX array of shape (\(h^{1,2}+1\), ) containing the complex conjugate value of the periods.

  • conj (bool) – If True, computes the complex conjugate. Defaults to False.

Returns:

Array – Anti-holomorphic derivative \(\partial_{\overline{X}^I}\mathcal{N}\) of the gauge kinetic matrix \(\mathcal{N}\).

Return type:

Array

gauge_kinetic_matrix(XPer, cXPer, conj=False)#

Computes the value of the gauge kinetic matrix \(\mathcal{N}\).

Parameters:
  • XPer (Array) – Values of periods.

  • cXPer (Array) – Complex conjugate values of periods.

  • conj (bool) – If True, computes the complex conjugate. Defaults to False.

Returns:

Array – Value of the gauge kinetic matrix \(\mathcal{N}\).

Return type:

Array

gauge_kinetic_matrix_periods(XPer, cXPer, conj=False)#

Computes value of the gauge kinetic matrix \(\mathcal{N}\) from periods.

Parameters:
  • XPer (Array) – Values of periods.

  • cXPer (Array) – Complex conjugate values of periods.

  • conj (bool) – If True, computes the complex conjugate. Defaults to False.

Returns:

Array – Value of the gauge kinetic matrix \(\mathcal{N}\) from periods.

Return type:

Array

gauge_kinetic_matrix_prepotential(XPer, cXPer, conj=False)#

Computes value of the gauge kinetic matrix \(\mathcal{N}\) from prepotential.

Parameters:
  • XPer (Array) – Values of periods.

  • cXPer (Array) – Complex conjugate values of periods.

  • conj (bool) – If True, computes the complex conjugate. Defaults to False.

Returns:

Array – Value of the gauge kinetic matrix \(\mathcal{N}\) from prepotential.

Return type:

Array

grad_kahler_potential_per(XPer, cXPer, conj=False)#

Computes derivatives \(\partial_{X^I}K\) of the Kähler potential \(K\) with respect to the periods :mathh`X^I`.

Warning

If we set conj=True, we compute the anti-holomorphic derivative \(\partial_{\overline{X}^I}K\) instead!

Parameters:
  • XPer (Array) – Values of periods.

  • cXPer (Array) – Complex conjugate values of periods.

  • conj (bool) – If True, computes the complex conjugate. Defaults to False.

Returns:

Array – First derivative \(\partial_{X^I}K\) of the Kähler potential \(K\).

Return type:

Array

grad_period_vector_per(XPer, conj=False)#

Computes derivatives \(\partial_{X^I}\Pi\) of the period vector \(\Pi\) with respect to the periods :mathh`X^I`.

Parameters:
  • XPer (Array) – Values of periods.

  • conj (bool) – If True, computes the complex conjugate. Defaults to False.

Returns:

Array – Derivatives \(\partial_{X^I}\Pi\) of the period vector \(\Pi\).

Return type:

Array

kahler_potential_per(XPer, cXPer)#

Computes the value of the Kähler potential \(K\) as a function of the periods \(X^I\).

Parameters:
  • XPer (Array) – Values of periods.

  • cXPer (Array) – Complex conjugate values of periods.

Returns:

Array – Value of the Kähler potential \(K\).

Return type:

complex

property lcs_tree#

Description: The underlying lcs_tree object holding the CY model data.

Parameters:

None

Returns:

lcs_tree – The lcs_tree object holding the CY model data.

period_vector_per(XPer, conj=False)#

Computes the period vector \(\Pi\) in terms of the periods \(X^I\).

Parameters:
  • XPer (Array) – Values of periods.

  • conj (bool) – If True, computes the complex conjugate. Defaults to False.

Returns:

Array – Period vector \(\Pi\).

Return type:

Array

prepot_grad_grad_per(XPer, conj=False)#

Computes the second holomorphic derivatives \(F_{IJ}=\partial_{X^I}\partial_{X^J}F\) of the prepotential \(F\) with respect to the periods \(X^I\).

Note

This matrix is used among others to compute the gauge kinetic matrix entering the ISD condition for SUSY flux vacua, see gauge_kinetic_matrix_prepotential().

Parameters:
  • XPer (Array) – Values of periods.

  • conj (bool) – If True, computes the complex conjugate. Defaults to False.

Returns:

ddF (jax array of arrays) – \((h^{1,2}+1)\times(h^{1,2}+1)\)-matrix with entries corresponding to 2nd derivatives of \(F\).

Return type:

Array

See also: gauge_kinetic_matrix().

prepot_grad_per(XPer, conj=False)#

Computes the holomorphic derivatives \(F_{I}=\partial_{X^I}F\) of the prepotential \(F\) with respect to the periods \(X^I\).

Parameters:
  • XPer (Array) – Values of periods.

  • conj (bool) – If True, computes the complex conjugate. Defaults to False.

Returns:

Array – Holomorphic derivatives \(F_{I}=\partial_{X^I}F\) of the prepotential \(F\).

Return type:

Array

prepot_per(XPer, conj=False)#

Computes the prepotential \(F\) in terms of the periods \(X^I\).

Warning

The moduli space limit around which the prepotential is computed is set by the global parameter self.periods.limit. Currently, only the limits "LCS", "coniLCS_series", and "coniLCS_bulk" are supported.

Note

This function is used to compute the gauge kinetic matrix \(\mathcal{N}_{IJ}\) of second derivatives of the prepotential which is used to check the ISD-condition for flux vacua.

Parameters:
  • XPer (Array) – Values of periods.

  • conj (bool) – If True, computes the complex conjugate. Defaults to False.

Returns:

complex – Value of the prepotential \(F\).

Return type:

complex

See also: F_LCS_per()

See also: prepot_grad_grad_per()

See also: gauge_kinetic_matrix()

sigma()#

Returns the symplectic matrix

\[\begin{split}\Sigma=\left (\begin{array}{cc}0 & 1\\ -1&0\end{array}\right )\, .\end{split}\]
Parameters:

None

Returns:

Array – Symplectic pairing matrix.

Return type:

Array