Translational Symmetry
Translation-orbit and momentum-basis utilities, plus momentum-projected sparse operator kernels used by symmetry-reduced Hamiltonian builders.
Translation symmetry and momentum-basis construction utilities.
This module builds translation orbits and sparse momentum-basis projectors for symmetry-sector configuration tables, and provides momentum-projected sparse operator kernels for generic factorized n-body operators.
- edlgt.symmetries.translational_sym.check_normalization(basis)[source]
Check whether all columns of a basis matrix are normalized.
- Parameters:
basis (
numpy.ndarray) – Basis matrix with basis vectors stored as columns.- Returns:
Trueif every column has unit norm.- Return type:
- edlgt.symmetries.translational_sym.check_orthogonality(basis)[source]
Check whether the columns of a basis matrix are mutually orthogonal.
- Parameters:
basis (
numpy.ndarray) – Basis matrix with basis vectors stored as columns.- Returns:
Trueif all distinct column pairs are orthogonal.- Return type:
- edlgt.symmetries.translational_sym.get_translated_state_indices(config, sector_configs, logical_unit_size=1)[source]
Generate all 1D translations of a configuration in a sorted sector basis.
- edlgt.symmetries.translational_sym.get_reference_indices(sector_configs)[source]
Select translation-inequivalent reference configurations in 1D.
- edlgt.symmetries.translational_sym.get_momentum_basis(sector_configs, lvals, unit_cell_size, k_vals, TC_symmetry=False)[source]
Construct a sparse momentum-basis projector representation.
- Parameters:
sector_configs (
numpy.ndarray) – Symmetry-sector configurations, one row per basis state.lvals (
list) – Lattice lengths along each spatial direction.unit_cell_size (
numpy.ndarray) – Translation step (logical unit-cell size) per spatial direction.k_vals (
numpy.ndarray) – Momentum quantum numbers (one per spatial direction, or the effective translation-combined symmetry momentum inTC_symmetrymode).TC_symmetry (
bool, optional) – IfTrue, use the translation-combined (TC) symmetry construction.
- Returns:
Sparse left/right representations of the momentum-basis projector
B:(L_col_ptr, L_row_idx, L_data, R_row_ptr, R_col_idx, R_data), where the first three arrays encode the CSC representation ofBand the last three arrays encode the CSR representation ofB.- Return type:
- edlgt.symmetries.translational_sym.nbody_data_momentum(op_list, op_sites_list, sector_configs, L_col_ptr, L_row_idx, L_data, R_row_ptr, R_col_idx, R_data)[source]
Build sparse triplets for a generic n-body operator in momentum basis.
- Parameters:
op_list (
numpy.ndarray) – Site-resolved factorized operator data of shape(n_ops, n_sites, d_loc, d_loc).op_sites_list (
numpy.ndarray) – Sites where each operator factor acts (shape(n_ops,)).sector_configs (
numpy.ndarray) – Symmetry-sector configurations, one row per basis state.L_col_ptr (
numpy.ndarray) – CSC representation of momentum projectorB.L_row_idx (
numpy.ndarray) – CSC representation of momentum projectorB.L_data (
numpy.ndarray) – CSC representation of momentum projectorB.R_row_ptr (
numpy.ndarray) – CSR representation of momentum projectorB.R_col_idx (
numpy.ndarray) – CSR representation of momentum projectorB.R_data (
numpy.ndarray) – CSR representation of momentum projectorB.
- Returns:
(row_list, col_list, value_list)triplets for the projected operatorB^H H B.- Return type:
- edlgt.symmetries.translational_sym.nbody_data_momentum_4sites(op_list, op_sites_list, sector_configs, L_col_ptr, L_row_idx, L_data, R_row_ptr, R_col_idx, R_data)[source]
Build sparse triplets for a four-site operator in the momentum basis.
- Parameters:
op_list (
numpy.ndarray) – Four-site factorized operator data (shape(4, n_sites, d_loc, d_loc)).op_sites_list (
numpy.ndarray) – Four site indices where the operator acts.sector_configs (
numpy.ndarray) – Symmetry-sector configurations, one row per basis state.L_col_ptr (
numpy.ndarray) – CSC representation of the momentum-basis projectorB.L_row_idx (
numpy.ndarray) – CSC representation of the momentum-basis projectorB.L_data (
numpy.ndarray) – CSC representation of the momentum-basis projectorB.R_row_ptr (
numpy.ndarray) – CSR representation of the same projectorB.R_col_idx (
numpy.ndarray) – CSR representation of the same projectorB.R_data (
numpy.ndarray) – CSR representation of the same projectorB.
- Returns:
(row_list, col_list, value_list)triplets for the projected operatorB^H H B.- Return type:
- edlgt.symmetries.translational_sym.nbody_data_momentum_2sites(op_list, op_sites_list, sector_configs, L_col_ptr, L_row_idx, L_data, R_row_ptr, R_col_idx, R_data)[source]
Build sparse triplets for a two-site operator in the momentum basis.
- Parameters:
op_list (
numpy.ndarray) – Two-site factorized operator data (shape(2, n_sites, d_loc, d_loc)).op_sites_list (
numpy.ndarray) – Two site indices where the operator acts.sector_configs (
numpy.ndarray) – Symmetry-sector configurations, one row per basis state.L_col_ptr (
numpy.ndarray) – CSC representation of the momentum-basis projectorB.L_row_idx (
numpy.ndarray) – CSC representation of the momentum-basis projectorB.L_data (
numpy.ndarray) – CSC representation of the momentum-basis projectorB.R_row_ptr (
numpy.ndarray) – CSR representation of the same projectorB.R_col_idx (
numpy.ndarray) – CSR representation of the same projectorB.R_data (
numpy.ndarray) – CSR representation of the same projectorB.
- Returns:
(row_list, col_list, value_list)triplets for the projected operatorB^H H B.- Return type:
- edlgt.symmetries.translational_sym.nbody_data_momentum_1site(op_list, op_sites_list, sector_configs, L_col_ptr, L_row_idx, L_data, R_row_ptr, R_col_idx, R_data)[source]
Build sparse triplets for a one-site operator in the momentum basis.
- Parameters:
op_list (
numpy.ndarray) – One-site factorized operator data (shape(1, n_sites, d_loc, d_loc)).op_sites_list (
numpy.ndarray) – Site index of the operator action (shape(1,)).sector_configs (
numpy.ndarray) – Symmetry-sector configurations, one row per basis state.L_col_ptr (
numpy.ndarray) – CSC representation of the momentum-basis projectorB.L_row_idx (
numpy.ndarray) – CSC representation of the momentum-basis projectorB.L_data (
numpy.ndarray) – CSC representation of the momentum-basis projectorB.R_row_ptr (
numpy.ndarray) – CSR representation of the same projectorB.R_col_idx (
numpy.ndarray) – CSR representation of the same projectorB.R_data (
numpy.ndarray) – CSR representation of the same projectorB.
- Returns:
(row_list, col_list, value_list)triplets for the projected operatorB^† H B.- Return type: