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.

edlgt.tools.config_encoding.config_to_index_linsearch(config, unique_configs)[source]

Find a configuration index by linear search in a config table.

edlgt.tools.config_encoding.config_to_index_binarysearch(config, unique_configs)[source]

Find a configuration index by binary search in a sorted table.