Skip to content

LongestCycleLength ​

The size of the largest cycle (the catalog's second spelling).

✓ checked against that system · ! checked, with disagreements (hover a chip)FindStatSt000485via Permutation✓
LongestCycleLength(p)The size of the largest cycle (the catalog's second spelling).
SageMathenumeratio_stat("Permutation", p, "LongestCycleLength")
Typed signatures
TypePackageApplies
(permutation) -> numbercombinatoricsalways

Domain: Permutation statistics

Details
  • Defined over Permutation as an expression in _x, evaluated by compute-engine — the definition IS the implementation.
  • Takes a Permutation and nothing else — it reads values against their positions, or walks the orbits, so it needs the bijection. Applying it to a bare list is a type error, not a wrong answer.

Definition

Epsil, as the implementation runs it.

on Permutation, over _x

0 if Length(_x) < 1 else Max(Map(
                                  Function(Min(Filter(
                                                       Range(1, Length(_x), 1),
                                                       Function(Fold(
                                                                      Function(_x[w], w, j),
                                                                      i,
                                                                      Range(
                                                                             1,
                                                                             k,
                                                                             1,
                                                                           ),
                                                                    ) == i, k),
                                                     )), i),
                                  Filter(
                                          Range(1, Length(_x), 1),
                                          Function(Fold(
                                                         Function(
                                                                   w if w <= 0 else 0 if w == i else -1 if w < i else _x[w],
                                                                   w,
                                                                   k,
                                                                 ),
                                                         _x[i],
                                                         Range(1, Length(_x), 1),
                                                       ) == 0, i),
                                        ),
                                ))

Examples

Basic #

the one-line word 312312

live ↗
InLongestCycleLength(Permutation⁡([3,1,2]))\mathrm{LongestCycleLength}({\operatorname{Permutation}}([3, 1, 2]))Out33

the one-line word 24132413

live ↗
InLongestCycleLength(Permutation⁡([2,4,1,3]))\mathrm{LongestCycleLength}({\operatorname{Permutation}}([2, 4, 1, 3]))Out44
Properties #

FindStat's value for [1,2]

live ↗
InCombinatorialStat(Permutation⁡([1,2]),LongestCycleLength)\mathrm{CombinatorialStat}({\operatorname{Permutation}}([1, 2]), \text{LongestCycleLength})Out11

Known value · FindStat St000485

FindStat's value for [2,1]

live ↗
InCombinatorialStat(Permutation⁡([2,1]),LongestCycleLength)\mathrm{CombinatorialStat}({\operatorname{Permutation}}([2, 1]), \text{LongestCycleLength})Out22

Known value · FindStat St000485

FindStat's value for [1,2,3]

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

Known value · FindStat St000485

About
Examples5
Checked againstSageMath 5 agreemathlib4 2 agree
CrosswalkFindStatSageMath

Implementation

mappedsagepackages/oracle/src/mappings.ts
mappedmathlib4packages/oracle/src/mappings.ts

A 1-based one-line permutation list, rebuilt as an Equiv.Perm (Fin n) (a list that is not a permutation prints "not a permutation"); the empty permutation gives 0