Quantum Many Body State Configurations

ed_lgt.symmetries.generate_configs.config_to_index(config, loc_dims)[source]

This function generate the QMB index out the the indices of the single lattices sites. The latter ones can display local Hilbert space with different dimension. The order of the sites must match the order of the dimensionality of the local basis :param loc_states: list of numbered state of the lattice sites :type loc_states: list of ints :param loc_dims: list of lattice site dimensions

(in the same order as they are stored in the loc_states!)

Returns:

QMB index

Return type:

int

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

This function creates all the possible QMB state configurations of a system made by L units/sites, each one living in a Hilbert space of dimension loc_dim.

Parameters:

loc_dims (np.array) – 1D array of single-site local dimensions. For Exact Diagonlization (ED) purposes, each local dimension is always smaller that 2^{8}-1 For this reason, loc_dims.dtype = np.uint8

Returns:

matrix configs, with shape=(prod(loc_dims), len(loc_dims)) and dtype = np.uint8

Each row is a possible configuration of the QMB state.

Return type:

np.array

ed_lgt.symmetries.generate_configs.get_translated_state_indices(config, sector_configs, logical_unit_size)[source]

Generate all translations of a given configuration of a 1d QMB system, considering logical units in translation.

ed_lgt.symmetries.generate_configs.index_to_config(qmb_index, loc_dims)[source]

Convert a linear QMB index to a configuration based on local dimensions.