neuralqx.utils.symmetries.types.cycle module¶
- class Cycle(mapping_canon, domain, shift, name='cyc')¶
Bases:
SymmetryCycle symmetry representing a cyclic shift of the canonical edge ordering.
A cycle is defined by a mapping on canonical (orientation-agnostic) edges. When queried with an oriented edge, the result is re-oriented to match the query edge’s orientation, so indexing respects the caller’s orientation convention.
Iteration and printing preserve the original oriented edges provided in
domain.- Parameters:
mapping_canon (
Dict[Tuple[int,int,int],Tuple[int,int,int]]) – Mapping from canonical edges to canonical edges implementing the cycle.domain (
List[Tuple[int,int,int]]) – Oriented edges supplied by the user; used for iteration/printing.shift (
int) – The shift amount (in positions) that produced this cycle.name (
str) – Optional name for the cycle. Defaults to"cyc".