Config Encoding
Low-level helpers for mixed-radix encoding/decoding of site configurations and for binary search on sorted encoded/config tables.
These routines are shared by symmetry-sector builders, partition helpers, and state-analysis code whenever configurations need to be mapped to compact keys or searched efficiently.
Low-level configuration encoding and lookup helpers.
This module groups together the mixed-radix helpers used to encode/decode many-body configurations and the small lexicographic search kernels used on sorted configuration tables.
- edlgt.tools.config_encoding.compute_strides(loc_dims)[source]
Compute mixed-radix strides for encoding site configurations into int64 keys.
- edlgt.tools.config_encoding.encode_config(config, strides)[source]
Encode a single configuration into an int64 key using precomputed strides.
- edlgt.tools.config_encoding.encode_all_configs(configs, strides)[source]
Encode many configurations into int64 keys using precomputed strides.
- edlgt.tools.config_encoding.decode_key_to_config(key, loc_dims)[source]
Decode an int64 key back into a configuration vector.
- edlgt.tools.config_encoding.binary_search_sorted(keys_sorted, target)[source]
Binary search on a sorted int64 array.
- edlgt.tools.config_encoding.index_to_config(qmb_index, loc_dims)[source]
Convert a linear many-body basis index to a site configuration.
- edlgt.tools.config_encoding.config_to_index(config, loc_dims)[source]
Convert a site configuration into a linear many-body basis index.
- edlgt.tools.config_encoding.compare_configs(config1, config2)[source]
Lexicographically compare two configurations.