Skip to content

CycleDecomposition ​

The singular-inhabitant constructor for a permutation in cycle notation with its fixed points kept: each cycle from its least point, cycles in order of those points.

WikipediaPermutationPermutationMathWorldPermutationWikidataQ161519Encyclopedia of MathematicsPermutationnLabpermutationBritannicatopic/permutation
CycleDecomposition(cycles)The singular-inhabitant constructor for a permutation in cycle notation with its fixed points kept: each cycle from its least point, cycles in order of those points.
CycleDecomposition(cycles, n)the permutation of 1..n that a Cycles value describes, the points it leaves out kept as fixed points
Typed signatures
TypePackageApplies
((list<list<integer>>) -> cycle_decomposition) & ((permutation) -> cycle_decomposition) & ((expression<Cycles>, integer) -> cycle_decomposition)combinatoricsalways

Domain: Collections

Details
  • Keeping the fixed points is what makes it a permutation of a definite size, so it converts back: Permutation(CycleDecomposition(p)) is p, and every permutation statistic answers on a decomposition. Wolfram's Cycles drops them, so it can't say how many points there are.
  • CycleDecomposition(Permutation([…])) converts; CycleDecomposition of anything else holds it as given.
  • CycleDecomposition(Cycles(...), n) puts the fixed points back, and each cycle from its least point: Cycles doesn't know its size, so n says it, as Wolfram's PermutationList(c, n) does. It declines a point outside 1..n1..n or one that appears twice.
  • Cycles(CycleDecomposition(...)) is the other direction, and forgets the fixed points. The two round-trip: CycleDecomposition(Cycles(c), n) is c for any decomposition c of size nn.

Maps

Into and out of CycleDecomposition, called as CombinatorialMap(x, "Name"). Properties are the laws we state and what FindStat records.

From CycleDecomposition

  • PermutationCycleDecomposition → PermutationinverseThe permutation a cycle decomposition describes.

To CycleDecomposition

  • CycleDecompositionPermutation → CycleDecompositioninverseA permutation in cycle notation, fixed points kept: each cycle from its least point, cycles in order of those points.

Examples

Basic #

From a permutation: 44 is a fixed point, kept as its own cycle

live ↗
InCycleDecomposition⁡(Permutation⁡([2,3,1,4]))\operatorname{CycleDecomposition}({\operatorname{Permutation}}([2, 3, 1, 4]))OutCycleDecomposition⁡([[1,2,3],[4]]){\operatorname{CycleDecomposition}}([[1, 2, 3], [4]])

And back

live ↗
InPermutation⁡(CycleDecomposition⁡([[1,3],[2]]))\operatorname{Permutation}({\operatorname{CycleDecomposition}}([[1, 3], [2]]))OutPermutation⁡([3,2,1]){\operatorname{Permutation}}([3, 2, 1])

A permutation statistic, through the conversion

live ↗
InCombinatorialStat(CycleDecomposition⁡([[1,2,3],[4]]),FixedPoints)\mathrm{CombinatorialStat}({\operatorname{CycleDecomposition}}([[1, 2, 3], [4]]), \text{FixedPoints})Out11

From Cycles, which drops the fixed points: the size 44 puts them back

live ↗
InCycleDecomposition⁡(Cycles([[2,3]]),4)\operatorname{CycleDecomposition}(\mathrm{Cycles}(\bigl\lbrack\bigl\lbrack2, 3\bigr\rbrack\bigr\rbrack), 4)OutCycleDecomposition⁡([[1],[2,3],[4]]){\operatorname{CycleDecomposition}}([[1], [2, 3], [4]])

A cycle may be written from any of its points: each comes out from its least

live ↗
InCycleDecomposition⁡(Cycles([[3,1,2]]),4)\operatorname{CycleDecomposition}(\mathrm{Cycles}(\bigl\lbrack\bigl\lbrack3, 1, 2\bigr\rbrack\bigr\rbrack), 4)OutCycleDecomposition⁡([[1,2,3],[4]]){\operatorname{CycleDecomposition}}([[1, 2, 3], [4]])

To Cycles, the fixed points forgotten

live ↗
InCycles(CycleDecomposition⁡([[1],[2,3],[4]]))\mathrm{Cycles}({\operatorname{CycleDecomposition}}([[1], [2, 3], [4]]))OutCycles([[2,3]])\mathrm{Cycles}(\bigl\lbrack\bigl\lbrack2, 3\bigr\rbrack\bigr\rbrack)
About
Examples6
Checked againstWolfram Language 3 agree2 differSymPy 2 differmpmath 2 differ
CrosswalkWikipedia ×2MathWorldWikidataEncyclopedia of MathematicsnLabBritannica

See also: PermutationsAsCycles, Cycles, PermutationCycles