The block-cycle normal form #
Every permutation is conjugate to a block sum of rotations whose block lengths are its full cycle type (fixed points included): the normal form against which the skein trace of a permutation factors into cycle loops.
The block sum of rotations prescribed by a list of block lengths.
Equations
- RS.blockCycles [] = 1
- RS.blockCycles (c :: rest) = finSumFinEquiv.permCongr (Equiv.sumCongr (finRotate c) (RS.blockCycles rest))
Instances For
The full cycle type: the cycle type completed by the fixed points as one-cycles.
Equations
- RS.fullCycleType π = π.cycleType + Multiset.replicate (n - π.cycleType.sum) 1
Instances For
The full cycle type sums to the degree.
The cycle type of a block sum #
The block cycles realize a prescribed full cycle type.
The normal form: every permutation is conjugate to the block sum of rotations along its full cycle type.