login
A260533
Table of partition coefficients read by rows. The coefficient of a partition p is Product_{j=1..length(p)-1} C(p[j], p[j+1]). Row n lists the coefficients of the partitions of n in the ordering A080577, for n>=1.
0
1, 1, 1, 1, 2, 1, 1, 3, 1, 2, 1, 1, 4, 3, 3, 2, 2, 1, 1, 5, 6, 4, 1, 6, 3, 1, 2, 2, 1, 1, 6, 10, 5, 4, 12, 4, 3, 3, 6, 3, 2, 2, 2, 1, 1, 7, 15, 6, 10, 20, 5, 1, 12, 6, 12, 4, 3, 3, 6, 6, 3, 1, 2, 2, 2, 1
OFFSET
1,5
COMMENTS
The triangle is a refinement of Pascal's triangle A007318.
LINKS
Peter Luschny, The P-transform, 2016.
Peter Luschny, The Partition Transform, A SageMath Jupyter Notebook, GitHub, 2016/2022.
Marko Riedel, Answer to Question 4943578, Mathematics Stack Exchange, 2024.
Peter Taylor, Answer to Question 474483, MathOverflow, 2024.
FORMULA
Let P = Partitions(n, k) denote the set of partitions p of n with largest part k. Then Sum_{p in P} PartitionCoefficient(p) = binomial(n-1,k-1) for n>=0 and k>=0 (assuming binomial(-1,-1) = 1).
EXAMPLE
The signed version of the triangle starts:
[1]
[-1, 1]
[1, -2, 1]
[-1, 3, -1, -2, 1]
[1, -4, 3, 3, -2, -2, 1]
[-1, 5, -6, -4, 1, 6, 3, -1, -2, -2, 1]
Adding adjacent coefficients with equal sign reduces the triangle to the matrix inverse of Pascal's triangle (A130595).
.
The q-polynomials defined by Cigler start:
[0] 1;
[1] 1, q;
[2] 1, 2*q, q^3;
[3] 1, 3*q, q^2+2*q^3, q^6;
[4] 1, 4*q, 3*q^2+3*q^3, 2*q^4+2*q^6, q^10;
[5] 1, 5*q, 6*q^2+4*q^3, q^3+6*q^4+3*q^6, q^6+2*q^7+2*q^10, q^15;
MAPLE
with(combstruct): with(ListTools):
PartitionCoefficients := proc(n) local L, iter, p;
iter := iterstructs(Partition(n)): L := []:
while not finished(iter) do
p := Reverse(nextstruct(iter)):
L := [mul(binomial(p[j], p[j+1]), j=1..nops(p)-1), op(L)]
od end:
for n from 1 to 6 do PartitionCoefficients(n) od;
# Alternative, using Cigler's recurrence for the q-polynomials:
C := proc(n, k, q) local j;
if k = 0 then q^binomial(n + 1, 2) elif n = 0 then n^k else
add(q^binomial(j + 1, 2)*C(n - j - 1, k - 1, q), j = 0..n - k) fi end:
p := n -> local k; add(C(n, n - k, q)*x^k, k = 0..n):
row := n -> local k; seq(sort(coeff(expand(p(n)), x, k), [q], ascending), k=0..n):
for n from 0 to 5 do row(n) od; # Peter Luschny, Aug 24 2024
PROG
(Sage)
PartitionCoeff = lambda p: mul(binomial(p[j], p[j+1]) for j in range(len(p)-1))
PartitionCoefficients = lambda n: [PartitionCoeff(p) for p in Partitions(n)]
for n in (1..7): print(PartitionCoefficients(n))
CROSSREFS
Cf. A007318, A080577, A130595, A269941 (expanded form).
Sequence in context: A360056 A244316 A076259 * A107359 A307641 A342255
KEYWORD
nonn,tabf
AUTHOR
Peter Luschny, Jul 28 2015
STATUS
approved