Quantum Many Body State Configurations

Utilities to convert between linear basis indices and site configurations, and to build projectors between symmetry-reduced and full Hilbert spaces.

Configuration-table and basis-expansion helpers for symmetry sectors.

This module keeps the symmetry-facing helpers used to enumerate product-basis configurations and expand symmetry-reduced bases back into the full Hilbert space.

edlgt.symmetries.generate_configs.get_state_configs(loc_dims)[source]

Enumerate all product-basis configurations for a set of local dimensions.

Parameters:

loc_dims (numpy.ndarray) – One-dimensional array of local Hilbert-space dimensions.

Returns:

Array of shape (prod(loc_dims), len(loc_dims)) with dtype np.uint8. Each row is one many-body configuration.

Return type:

numpy.ndarray

edlgt.symmetries.generate_configs.build_sector_expansion_projector(sector_configs, local_dims)[source]

Build a dense expansion projector from sector to full basis.

Parameters:
  • sector_configs (numpy.ndarray) – Allowed configurations in the reduced sector, one row per basis state.

  • local_dims (numpy.ndarray) – Local Hilbert-space dimensions in the same site order.

Returns:

Dense binary projector of shape (prod(local_dims), sector_dim).

Return type:

numpy.ndarray