Skip to content

ConjugacyClassSize ​

The number of permutations of the same cycle type: n! over the product of the cycle sizes and the factorials of the multiplicities.

✓ checked against that system · ! checked, with disagreements (hover a chip)FindStatSt000182via IntegerPartition✓St000690via Permutation✓
ConjugacyClassSize(p)The number of permutations of the same cycle type: n! over the product of the cycle sizes and the factorials of the multiplicities.
SageMathenumeratio_stat("Permutation", p, "ConjugacyClassSize")
Typed signatures
TypePackageApplies
(integer_partition | 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.
  • Defined over IntegerPartition as an expression in _x, evaluated by compute-engine — the definition IS the implementation.
  • Takes a IntegerPartition 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.
  • On a partition, the parts are the cycle lengths of a permutation, and the size is n! over CentralizerSize.

Definition

Epsil, as the implementation runs it.

on Permutation, over _x

1 if Length(_x) < 1 else (1 if Length(_x) < 2 else Product(Range(1, Length(_x)))) /
                         (Product(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),
                                             ),
                                     )) *
                          Product(Map(Function(Apply(
                                                      (f: number) => 1 if f < 2 else Product(Range(1, f)),
                                                      Count(Filter(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),
                                                                              ),
                                                                      ), Function(
                                                                                  c == m,
                                                                                  c,
                                                                                ))),
                                                    ), m), Range(
                                                                 1,
                                                                 Length(_x),
                                                                 1,
                                                               ))))

on IntegerPartition, over _x

1 if Length(_x) < 1 else (1 if Sum(_x) == 0 else Product(Range(1, Sum(_x)))) /
                         (Product(_x) * Product(Map(
                                                     Function(Count(Filter(
                                                                            Range(1, i),
                                                                            Function(
                                                                                      _x[j] == _x[i],
                                                                                      j,
                                                                                    ),
                                                                          )), i),
                                                     Range(1, Length(_x)),
                                                   )))

Examples

Basic #

the one-line word 312312

live ↗
InConjugacyClassSize(Permutation⁡([3,1,2]))\mathrm{ConjugacyClassSize}({\operatorname{Permutation}}([3, 1, 2]))Out22

the one-line word 24132413

live ↗
InConjugacyClassSize(Permutation⁡([2,4,1,3]))\mathrm{ConjugacyClassSize}({\operatorname{Permutation}}([2, 4, 1, 3]))Out66
Properties #

FindStat's value for [1,2]

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

Known value · FindStat St000690

FindStat's value for [2,1]

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

Known value · FindStat St000690

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

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

Known value · FindStat St000690

FindStat's value for [1]

live ↗
InCombinatorialStat(IntegerPartition⁡([1]),ConjugacyClassSize)\mathrm{CombinatorialStat}({\operatorname{IntegerPartition}}([1]), \text{ConjugacyClassSize})Out11

Known value · FindStat St000182

FindStat's value for [2]

live ↗
InCombinatorialStat(IntegerPartition⁡([2]),ConjugacyClassSize)\mathrm{CombinatorialStat}({\operatorname{IntegerPartition}}([2]), \text{ConjugacyClassSize})Out11

Known value · FindStat St000182

FindStat's value for [3]

live ↗
InCombinatorialStat(IntegerPartition⁡([3]),ConjugacyClassSize)\mathrm{CombinatorialStat}({\operatorname{IntegerPartition}}([3]), \text{ConjugacyClassSize})Out22

Known value · FindStat St000182

About
Examples8
Checked againstSageMath 8 agree
CrosswalkFindStat ×2SageMath

Implementation

mappedsagepackages/oracle/src/mappings.ts