neuralqx.nn.projectors.group_projector.group_projector module

class GroupProjectorDynamic(base, perms_full=None, perms_edge=None, characters=None, conjugate_characters=False, irrep_dim=None, divide_by_group=True, parent=<flax.linen.module._Sentinel object>, name=None)

Bases: Module

A dynamic projector that:
  • stores either edge-level perms OR full-size perms (identity-first enforced),

  • lifts at runtime (from edge to full) using σ.shape[-1] when needed,

  • applies a stable complex log-mean-exp projector each call

perms_full: object = None

The list of full permutations.

perms_edge: object = None

The list of edge permutations.

characters: object = None

Characters of the irreps.

conjugate_characters: bool = False
irrep_dim: float | None = None
divide_by_group: bool = True
name: str | None = None
parent: Module | Scope | _Sentinel | None = None
scope: Scope | None = None
wrap_model(base_model, *, symmetries=None, graph=None, index_perms=None, characters=None, conjugate_characters=False, irrep_dim=None, divide_by_group=True)
Return type:

GroupProjectorDynamic

projector(*, symmetries=None, graph=None, index_perms=None, characters=None, conjugate_characters=False, irrep_dim=None, divide_by_group=True)