login
Partition triangle read by rows, counting irreducible permutations with weakly decreasing Lehmer code, refining triangle A119308.
1

%I #9 Aug 21 2022 14:09:53

%S 1,1,0,1,0,2,1,0,2,1,5,1,0,2,2,7,7,9,1,0,2,2,1,9,18,3,16,24,14,1,0,2,

%T 2,2,11,22,11,11,25,75,25,30,60,20,1,0,2,2,2,1,13,26,26,13,13,36,108,

%U 54,108,9,55,220,110,50,125,27,1

%N Partition triangle read by rows, counting irreducible permutations with weakly decreasing Lehmer code, refining triangle A119308.

%H Peter Luschny, <a href="https://github.com/PeterLuschny/PermutationsWithLehmer/blob/main/PermutationsWithLehmer.ipynb">Permutations with Lehmer</a>, a SageMath Jupyter Notebook.

%e Partition table T(n, k) begins:

%e [0] 1;

%e [1] 1;

%e [2] 0, 1;

%e [3] 0, 2, 1;

%e [4] 0, [2, 1], 5, 1;

%e [5] 0, [2, 2], [7, 7], 9, 1;

%e [6] 0, [2, 2, 1], [9, 18, 3], [16, 24], 14, 1;

%e [7] 0, [2, 2, 2], [11, 22, 11, 11], [25, 75, 25], [30, 60], 20, 1;

%e [8] 0, [2, 2, 2, 1],[13, 26, 26, 13, 13],[36, 108, 54, 108,9],[55, 220, 110],[50, 125], 27, 1;

%e Summing the bracketed terms reduces the triangle to A119308.

%o (SageMath) # using function perm_red_stats and reducible from A356264

%o def weakly_decreasing(L: list[int]) -> bool:

%o return all(x >= y for x, y in zip(L, L[1:]))

%o @cache

%o def A356261_row(n: int) -> list[int]:

%o if n < 2: return [1]

%o return [0] + [v[1] for v in perm_red_stats(n, irreducible, weakly_decreasing)]

%o def A356261(n: int, k: int) -> int:

%o return A356261_row(n)[k]

%o for n in range(8):

%o print([n], A356261_row(n))

%Y Cf. A356264, A119308 (reduced), A071724 (row sums).

%K nonn,tabf

%O 0,6

%A _Peter Luschny_, Aug 16 2022