neuralqx.utils.symmetries.types.permutation module

class Permutation(mapping_canon, domain, name='perm')

Bases: Symmetry

Edge permutation symmetry defined on canonical edges.

The permutation is stored as a mapping on canonical (orientation-agnostic) edges. When queried with an oriented edge, the mapping is applied to the canonical form and the result is then oriented to match the query edge. Iteration yields pairs in the order and orientation of the user-provided domain.

Parameters:
  • mapping_canon (Dict[Tuple[int, int, int], Tuple[int, int, int]]) – Mapping from canonical edges to canonical edges implementing the permutation.

  • domain (List[Tuple[int, int, int]]) – Oriented edges supplied by the user; used for iteration/printing.

  • name (str) – Optional name for the permutation. Defaults to "perm".

name: str = 'perm'

Default name for a permutation.