jaxvacua.conifold.conifold_utils.get_bulk_projection#
- get_bulk_projection(q)#
Bulk projection matrix for the conifold charge \(q\): the bulk columns \((\Lambda^{-1})_{:,1:}\) of the inverse basis change, shape \((h^{1,2}, h^{1,2}-1)\).
Details
Extracts the \((h^{1,2}-1)\) bulk components of a modulus/period vector
vviav @ bulk_projection(\(= (\Lambda^{-T} v)_{1:}\)). It is the left inverse of the bulk embedding (get_bulk_embedding()), \(\text{bulk\_embedding}^T\,\text{bulk\_projection} = \mathbb{1}_{h^{1,2}-1}\), so the “extract bulk then re-embed” round-trip is exact. This differs fromget_bulk_embedding()in a general basis (projection vs embedding of a vector); the two coincide only in the conifold-aligned basis, where both reduce to \([0;\mathbb{1}]\). \(\Lambda\) is unimodular, so \(\Lambda^{-1}\) is integer.- Parameters:
q (Array) – Integer conifold charge vector of length \(h^{1,2}\).
- Returns:
Array – Bulk projection matrix of shape \((h^{1,2}, h^{1,2}-1)\).
See also:
get_bulk_embedding(),get_embedding(),get_basis_change()