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: ABC

Abstract 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.

Subpackages

Submodules