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:
Returns:

Parity-transformed state vector.

Return type:

numpy.ndarray

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) – If 0, 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 ±1 entry per column.

Return type:

tuple