Inversion Symmetry
Parity (inversion) symmetry helpers acting directly in symmetry-reduced configuration bases.
Parity (inversion) symmetry helpers in symmetry-reduced bases.
The module builds parity permutations and parity operators directly in a configuration-based sector basis, and provides a lightweight routine to apply the resulting signed permutation to a state vector.
- edlgt.symmetries.inversion_sym.apply_parity_to_state(psi, row, col, data)[source]
Apply a parity operator stored as signed-permutation triplets.
- Parameters:
psi (
numpy.ndarray) – State vector in the sector basis.row (
numpy.ndarray) – Triplet representation returned bybuild_parity_operator().col (
numpy.ndarray) – Triplet representation returned bybuild_parity_operator().data (
numpy.ndarray) – Triplet representation returned bybuild_parity_operator().
- Returns:
Parity-transformed state vector.
- Return type:
Notes
The routine assumes exactly one nonzero entry per column, which holds for a permutation-with-signs representation of parity.
- edlgt.symmetries.inversion_sym.build_parity_operator(sector_configs, loc_perm, loc_phase, wrt_site=0)[source]
Build the parity operator in triplet form for a sector basis.
- Parameters:
sector_configs (
numpy.ndarray) – Symmetry-sector configurations (one row per basis state, lexicographically sorted).loc_perm (
numpy.ndarray) – Local basis-label permutation under parity.loc_phase (
numpy.ndarray) – Local parity phase factors associated with the basis labels.wrt_site (
int, optional) – If0, build a site-centered inversion; otherwise use a bond-centered inversion.
- Returns:
(row, col, data)triplet representation of the parity operator, with exactly one nonzero±1entry per column.- Return type: