%I #11 Sep 11 2022 01:53:16
%S 0,1,0,1,2,0,1,8,2,0,1,21,25,2,0,1,49,152,55,2,0,1,106,697,670,117,2,
%T 0,1,223,2756,5493,2509,243,2,0,1,459,9966,36105,33669,8838,497,2,0,1,
%U 936,34095,206698,342710,184305,29721,1007,2,0
%N Triangle read by rows. The reduced triangle of the partition triangle of reducible permutations (A356264). T(n, k) for n >= 1 and 0 <= k < n.
%H Peter Luschny, <a href="https://github.com/PeterLuschny/PermutationsWithLehmer/blob/main/PermutationsWithLehmer.ipynb">Permutations with Lehmer</a>, a SageMath Jupyter Notebook.
%e Triangle T(n, k) starts: [Row sums]
%e [1] [0] [0]
%e [2] [1, 0] [1]
%e [3] [1, 2, 0] [3]
%e [4] [1, 8, 2, 0] [11]
%e [5] [1, 21, 25, 2, 0] [49]
%e [6] [1, 49, 152, 55, 2, 0] [259]
%e [7] [1, 106, 697, 670, 117, 2, 0] [1593]
%e [8] [1, 223, 2756, 5493, 2509, 243, 2, 0] [11227]
%e [9] [1, 459, 9966, 36105, 33669, 8838, 497, 2, 0] [89537]
%o (SageMath) # uses function A356264_row
%o @cache
%o def Pn(n: int, k: int) -> int:
%o if k == 0: return 0
%o if n == 0 or k == 1: return 1
%o return Pn(n, k - 1) + Pn(n - k, k) if k <= n else Pn(n, k - 1)
%o def reduce_parts(fun, n: int) -> list[int]:
%o funn: list[int] = fun(n)
%o return [sum(funn[Pn(n, k):Pn(n, k + 1)]) for k in range(n)]
%o def reduce_partition_triangle(fun, n: int) -> list[list[int]]:
%o return [reduce_parts(fun, k) for k in range(1, n)]
%o def A356265_row(n: int) -> list[int]:
%o return reduce_partition_triangle(A356264_row, n+1)[n-1]
%o for n in range(1, 8):
%o print(A356265_row(n))
%Y Cf. A356264 (partitions), A356291 (row sums).
%K nonn,tabl
%O 1,5
%A _Peter Luschny_, Aug 16 2022
|