login
A271942
Triangle read by rows: T(n,k) is the number of bargraphs of semiperimeter n having width k (n>=2, k>=1).
3
1, 1, 1, 1, 3, 1, 1, 5, 6, 1, 1, 7, 16, 10, 1, 1, 9, 31, 40, 15, 1, 1, 11, 51, 105, 85, 21, 1, 1, 13, 76, 219, 295, 161, 28, 1, 1, 15, 106, 396, 771, 721, 280, 36, 1, 1, 17, 141, 650, 1681, 2331, 1582, 456, 45, 1, 1, 19, 181, 995, 3235, 6083, 6244, 3186, 705, 55, 1, 1, 21, 226, 1445, 5685, 13663, 19348, 15156, 5985, 1045, 66, 1, 1, 23, 276, 2014, 9325, 27483, 50464, 55308, 33903, 10615, 1496, 78, 1
OFFSET
2,5
COMMENTS
Sum of entries in row n = A082582(n).
Sum(k*T(n,k), k>=1) = A271943(n).
Connection with A145904 should be explored.
LINKS
A. Blecher, C. Brennan, and A. Knopfmacher, Peaks in bargraphs, Trans. Royal Soc. South Africa, 71, No. 1, 2016, 97-103.
M. Bousquet-Mélou and A. Rechnitzer, The site-perimeter of bargraphs, Adv. in Appl. Math. 31 (2003), 86-112.
FORMULA
G.f.: G(x,z) satisfies xzG^2-(1-xz-z-xz^2)G+xz^2=0 (z marks semiperimeter, x marks width).
T(n, k) = hypergeom([-k, k + 3, k - n], [1, 2], 1), provided one bases the offset in (0, 0). - Peter Luschny, Oct 18 2020
T(n, k) = Sum_{j=0..n - k} (binomial(n - k - 1, j)*binomial(n - k, j)*binomial(2*n - k - 2*j, 2*n - 2*k))/(j + 1), provided one bases the offset in (0, 0). - Detlef Meya, Jan 07 2023
EXAMPLE
Row 4 is 1,3,1 because the 5 (=A082582(4)) bargraphs of semiperimeter 4 correspond to the compositions [1,1,1], [1,2], [2,1], [2,2], [3] which, clearly, have widths 3,2,2,2,1.
Triangle starts:
1
1, 1
1, 3, 1
1, 5, 6, 1
1, 7, 16, 10, 1
1, 9, 31, 40, 15, 1
1, 11, 51, 105, 85, 21, 1
1, 13, 76, 219, 295, 161, 28, 1
1, 15, 106, 396, 771, 721, 280, 36, 1
1, 17, 141, 650, 1681, 2331, 1582, 456, 45, 1
MAPLE
eq := x*z*G^2-(1-x*z-z-x*z^2)*G+x*z^2 = 0: G := RootOf(eq, G): Gser := simplify(series(G, z = 0, 23)): for n from 2 to 20 do P[n] := sort(expand(coeff(Gser, z, n))) end do: for n from 2 to 20 do seq(coeff(P[n], x, j), j = 1 .. degree(P[n])) end do; # yields sequence in triangular form
# second Maple program:
b:= proc(n, y, t) option remember; expand(`if`(n=0, (1-t),
`if`(t<0, 0, b(n-1, y+1, 1))+`if`(t>0 or y<2, 0,
b(n, y-1, -1))+`if`(y<1, 0, b(n-1, y, 0)*z)))
end:
T:= n-> (p-> seq(coeff(p, z, i), i=1..n-1))(b(n, 0$2)):
seq(T(n), n=2..20); # Alois P. Heinz, Jun 06 2016
# Alternative, (assuming offset (0, 0)):
T := (n, k) -> simplify(hypergeom([-k, k + 3, k - n], [1, 2], 1)):
seq(seq(T(n, k), k=0..n), n=0..9); # Peter Luschny, Oct 18 2020
MATHEMATICA
b[n_, y_, t_] := b[n, y, t] = Expand[If[n == 0, {1 - t}, If[t < 0, 0, b[n - 1, y + 1, 1]] + If[t > 0 || y < 2, 0, b[n, y - 1, -1]] + If[y < 1, 0, b[n - 1, y, 0]*z]]];
T[n_] := Function[p, Table[Coefficient[p, z, i], {i, 1, n-1}]][b[n, 0, 0] ];
Table[T[n], {n, 2, 20}] // Flatten (* Jean-François Alcover, Jul 21 2016, after Alois P. Heinz *)
T[n_, k_] := Sum[(Binomial[n - k - 1, j]*Binomial[n - k, j]*Binomial[2*n - k - 2*j, 2*n - 2*k])/(j + 1), {j, 0, n - k}]; Flatten[Table[T[n, k], {n, 0, 12}, {k, 0, n}]] (* , provided one bases the offset in (0, 0). Detlef Meya, Jan 07 2023 *)
CROSSREFS
KEYWORD
nonn,tabl
AUTHOR
Emeric Deutsch, May 21 2016
STATUS
approved