Skip to content

SubexcedantSeqs ​

Subexcedant sequences of length nn: words (a0,…,an−1)(a_0, …, a_{n-1}) with 0≤ai≤i0 \le a_i \le i — another factorial-base encoding of permutations.

SubexcedantSeqs(n)Subexcedant sequences of length nn: words (a0,…,an−1)(a_0, …, a_{n-1}) with 0≤ai≤i0 \le a_i \le i — another factorial-base encoding of permutations
Typed signatures
TypePackageApplies
(integer<0..>) -> indexed_collection<subexcedant_seq>combinatoricsalways

Domain: Collections

Details
  • Count is n!n! (A000142); a sibling of LehmerCodes with the bound ai≤ia_i \le i instead of ai≤n−1−ia_i \le n-1-i.

Definition

Epsil, as the implementation runs it.

count(_n)

_n!

unrank(_n, _r)

Map(Function((_r - _r % Fold(
                              Function(product * f, product, f),
                              1,
                              Range(_n - (_n - j) + 1, _n, 1),
                            )) / Fold(
                                      Function(product * f, product, f),
                                      1,
                                      Range(_n - (_n - j) + 1, _n, 1),
                                    ) % j, j), Range(1, _n, 1))

rank(_n, _x)

Fold(Function(sr * sj + _x[sj], sr, sj), 0, Range(1, _n, 1))

valid(_n, _x)

Fold(
      Function(ok_sj && 0 <= _x[sj] && _x[sj] <= sj - 1, ok_sj, sj),
      True,
      Range(1, _n, 1),
    ) if Length(_x) == _n else False

Maps

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

From SubexcedantSeq

  • PermutationSubexcedantSeq → PermutationinverseThe permutation a subexcedant sequence is the inversion sequence of.

To SubexcedantSeq

  • SubexcedantSeqPermutation → SubexcedantSeqinverseEntry i counts the earlier entries larger than p(i): the permutation's inversion sequence.

Enumeration

Examples

1 more kept as data, checked against the oracles
Basic #

Count(SubexcedantSeqs(4))=24Count(SubexcedantSeqs(4)) = 24

live ↗
InCount(SubexcedantSeqs(4))\mathrm{Count}(\mathrm{SubexcedantSeqs}(4))Out2424

The first element in enumeration order

live ↗
InSubexcedantSeqs(4)[1]\mathrm{SubexcedantSeqs}(4)[1]OutSubexcedantSeq⁡([0,0,0,0]){\operatorname{SubexcedantSeq}}([0, 0, 0, 0])
About
Examples3
CrosswalkOEIS

See also: SymmetricGroup, LehmerCodes