neuralqx.gauge_groups package¶
This module includes within it the implementation of different gauge groups
- class AbstractGaugeGroup(H, *, lazy=True, computational=True, jax=False)¶
Bases:
ABCAbstract base class for gauge group implementations.
A gauge group implementation is responsible for - declaring compatibility with a given Hilbert space and its graph - exposing the group dimension in the representation used by the Hilbert space - constructing and caching the Gauss constraint operator
The Gauss constraint can be implemented as a NetKet LocalOperator, a neuraLQX ComputationalOperator, or a ComputationalJaxOperator. The class also supports switching operator backends by reinitialising the cached constraint.
- Parameters:
H (
AbstractHilbertInterface) – Hilbert space instance that defines graph, local degrees of freedom, and gauge group dimensionality.lazy (
Optional[bool]) – If True and a LocalOperator backend is requested, delay building the operator structure until needed.computational (
Optional[bool]) – If True, prefer neuraLQX computational operator backends.jax (
Optional[bool]) – If True and computational is True, request a JAX friendly computational operator backend.
- Returns:
None.