neuralqx.utils.misc.charges module

generate_charge_vectors(cutoff, gauge_dimensions=3)

Generate all discrete charge vectors within a symmetric cutoff.

This helper enumerates the Cartesian product of the allowed charge set {-cutoff, ..., 0, ..., +cutoff} across gauge_dimensions components. The result is a list of tuples, each representing one possible charge vector.

Parameters:
  • cutoff (int) – Maximum absolute value of each charge component. Components range from -cutoff to +cutoff (inclusive).

  • gauge_dimensions (int) – Number of components (dimensions) in each charge vector. Defaults to 3.

Return type:

list

Returns:

List of tuples of length gauge_dimensions containing all possible charge vectors.