neuralqx.utils.symmetries.types.permutation module¶
- class Permutation(mapping_canon, domain, name='perm')¶
Bases:
SymmetryEdge 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".