Skip to content

HalfSymmetryClassSize ​

Half the size of the symmetry class of p, rounded down.

✓ checked against that system · ! checked, with disagreements (hover a chip)FindStatSt000402via Permutation✓
HalfSymmetryClassSize(p)Half the size of the symmetry class of p, rounded down.
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.
  • The symmetry class is generated by inverse, reverse and complement.

Definition

Epsil, as the implementation runs it.

on Permutation, over _x

0 if Length(_x) < 1 else (8 / (1 + (1 if Count(Filter(
                                                       Range(1, Length(_x)),
                                                       Function(_x[i] !=
                                                                _x[Length(_x) +
                                                                   1 - i], i),
                                                     )) == 0 else 0) +
                               (1 if Count(Filter(
                                                   Range(1, Length(_x)),
                                                   Function(_x[i] != Length(_x) +
                                                                     1 - _x[i], i),
                                                 )) == 0 else 0) +
                               (1 if Count(Filter(
                                                   Range(1, Length(_x)),
                                                   Function(_x[Length(_x) + 1 -
                                                               i] != Length(_x) +
                                                                    1 - _x[i], i),
                                                 )) == 0 else 0) +
                               (1 if Count(Filter(
                                                   Range(1, Length(_x)),
                                                   Function(_x[_x[i]] != i, i),
                                                 )) == 0 else 0) +
                               (1 if Count(Filter(
                                                   Range(1, Length(_x)),
                                                   Function(_x[_x[i]] != Length(_x) +
                                                                         1 - i, i),
                                                 )) == 0 else 0) +
                               (1 if Count(Filter(
                                                   Range(1, Length(_x)),
                                                   Function(_x[Length(_x) + 1 -
                                                               _x[i]] != i, i),
                                                 )) == 0 else 0) + (1 if Count(Filter(
                                                                                      Range(1, Length(_x)),
                                                                                      Function(_x[Length(_x) + 1 -
                                                                                                  _x[i]] !=
                                                                                               Length(_x) + 1 -
                                                                                               i, i),
                                                                                    )) ==
                                                                        0 else 0)) - 8 / (1 + (1 if Count(Filter(
                                                                Range(
                                                                       1,
                                                                       Length(_x),
                                                                     ),
                                                                Function(_x[i] !=
                                                                         _x[Length(_x) +
                                                                            1 - i], i),
                                                              )) == 0 else 0) +
                                        (1 if Count(Filter(
                                                            Range(1, Length(_x)),
                                                            Function(_x[i] != Length(_x) +
                                                                              1 -
                                                                              _x[i], i),
                                                          )) == 0 else 0) +
                                        (1 if Count(Filter(
                                                            Range(1, Length(_x)),
                                                            Function(_x[Length(_x) +
                                                                        1 - i] !=
                                                                     Length(_x) +
                                                                     1 - _x[i], i),
                                                          )) == 0 else 0) +
                                        (1 if Count(Filter(
                                                            Range(1, Length(_x)),
                                                            Function(_x[_x[i]] !=
                                                                     i, i),
                                                          )) == 0 else 0) +
                                        (1 if Count(Filter(
                                                            Range(1, Length(_x)),
                                                            Function(_x[_x[i]] !=
                                                                     Length(_x) +
                                                                     1 - i, i),
                                                          )) == 0 else 0) +
                                        (1 if Count(Filter(
                                                            Range(1, Length(_x)),
                                                            Function(
                                                                      _x[Length(_x) +
                                                                         1 -
                                                                         _x[i]] != i,
                                                                      i,
                                                                    ),
                                                          )) == 0 else 0) +
                                        (1 if Count(Filter(
                                                            Range(1, Length(_x)),
                                                            Function(_x[Length(_x) +
                                                                        1 - _x[i]] !=
                                                                     Length(_x) +
                                                                     1 - i, i),
                                                          )) == 0 else 0)) % 2) / 2

Examples

Basic #

the one-line word 312312

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

the one-line word 24132413

live ↗
InHalfSymmetryClassSize(Permutation⁡([2,4,1,3]))\mathrm{HalfSymmetryClassSize}({\operatorname{Permutation}}([2, 4, 1, 3]))Out11
Properties #

FindStat's value for [1,2]

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

Known value · FindStat St000402

FindStat's value for [2,1]

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

Known value · FindStat St000402

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

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

Known value · FindStat St000402

About
Examples5
CrosswalkFindStat