login
A118340
Pendular triangle, read by rows, where row n is formed from row n-1 by the recurrence: if n > 2k, T(n,k) = T(n,n-k) + T(n-1,k), else T(n,k) = T(n,n-1-k) + T(n-1,k), for n>=k>0, with T(n,0) = 1 and T(n,n) = 0^n.
10
1, 1, 0, 1, 1, 0, 1, 2, 1, 0, 1, 3, 4, 1, 0, 1, 4, 9, 5, 1, 0, 1, 5, 15, 20, 6, 1, 0, 1, 6, 22, 48, 28, 7, 1, 0, 1, 7, 30, 85, 113, 37, 8, 1, 0, 1, 8, 39, 132, 282, 169, 47, 9, 1, 0, 1, 9, 49, 190, 519, 688, 237, 58, 10, 1, 0, 1, 10, 60, 260, 837, 1762, 1074, 318, 70, 11, 1, 0
OFFSET
0,8
COMMENTS
Definitions. A pendular triangle is a triangle in which row n is generated from the pendular sums of row n-1. Pendular sums of a row are partial sums taken in back-and-forth order, starting with the leftmost term, jumping to the rightmost term, back to the leftmost unused term, then forward to the rightmost unused term, etc.
In each pass, the partial sum is placed in the new row directly under the term most recently used in the sum. Continue in this way until all the terms of the prior row have been used and then complete the new row by appending a zero at the end. Pendular sums are so named because the process resembles a swinging pendulum that slows down on each pass until it eventually comes to rest in the center.
In the simplest case, pendular triangles obey the recurrence: if n > 2k, T(n,k) = T(n,n-k) + T(n-1,k), else T(n,k) = T(n,n-1-k) + p*T(n-1,k), for n>=k>0, with T(n,0)=1 and T(n,n)=0^n, for some fixed number p.
In which case the g.f. G=G(x) of the central terms satisfies: G = 1 - p*x*G + p*x*G^2 + x*G^3.
More generally, a pendular triangle is defined by the recurrence: if n > 2k, T(n,k) = T(n,n-k) + T(n-1,k), else T(n,k) = T(n,n-1-k) + Sum_{j>=1} p(j)*T(n-1,k-1+j), for n>=k>0, with T(n,0)=1 and T(n,n)=0^n.
Remarkably, the g.f. G=G(x) of the central terms satisfies: G = 1 + x*G^3 + Sum_{j>=1} p(j)*x^j*[G^(2*j) - G^(2*j-1)].
Further, the g.f. of the m-th lower semi-diagonal equals G(x)^(m+1) for m>=0, where the m-th semi-diagonal consists of those terms located at m rows below the central terms.
For variants of pendular triangles, the main diagonal may be nonzero, but then the g.f.s of the semi-diagonals are more complex.
LINKS
G. C. Greubel, Rows n = 0..100 of the triangle, flattened(Rows n = 0..20 from Paul D. Hanna)
FORMULA
T(2*n+m,n) = [A108447^(m+1)](n), i.e., the m-th lower semi-diagonal forms the self-convolution (m+1)-power of A108447; compare semi-diagonals to the diagonals of convolution triangle A118343.
EXAMPLE
Row 6 equals the pendular sums of row 5:
[1, 4, 9, 5, 1, 0], where the sums proceed as follows:
[1, __, __, __, __, __], T(6,0) = T(5,0) = 1;
[1, __, __, __, __, 1], T(6,5) = T(6,0) + T(5,5) = 1 + 0 = 1;
[1, 5, __, __, __, 1], T(6,1) = T(6,5) + T(5,1) = 1 + 4 = 5;
[1, 5, __, __, 6, 1], T(6,4) = T(6,1) + T(5,4) = 5 + 1 = 6;
[1, 5, 15, __, 6, 1], T(6,2) = T(6,4) + T(5,2) = 6 + 9 = 15;
[1, 5, 15, 20, 6, 1], T(6,3) = T(6,2) + T(5,3) = 15 + 5 = 20;
[1, 5, 15, 20, 6, 1, 0] finally, append a zero to obtain row 6.
Triangle begins:
1;
1, 0;
1, 1, 0;
1, 2, 1, 0;
1, 3, 4, 1, 0;
1, 4, 9, 5, 1, 0;
1, 5, 15, 20, 6, 1, 0;
1, 6, 22, 48, 28, 7, 1, 0;
1, 7, 30, 85, 113, 37, 8, 1, 0;
1, 8, 39, 132, 282, 169, 47, 9, 1, 0;
1, 9, 49, 190, 519, 688, 237, 58, 10, 1, 0;
1, 10, 60, 260, 837, 1762, 1074, 318, 70, 11, 1, 0;
1, 11, 72, 343, 1250, 3330, 4404, 1568, 413, 83, 12, 1, 0; ...
Central terms are T(2*n,n) = A108447(n);
semi-diagonals form successive self-convolutions of the central terms:
T(2*n+1,n) = A118341(n) = [A108447^2](n),
T(2*n+2,n) = A118342(n) = [A108447^3](n).
MATHEMATICA
T[n_, k_, p_]:= T[n, k, p] = If[n<k || k<0, 0, If[k==0, 1, If[k==n, 0, If[n<=2*k, T[n, n-k-1, p] + p*T[n-1, k, p], T[n, n-k, p] + T[n-1, k, p] ]]]];
Table[T[n, k, 1], {n, 0, 12}, {k, 0, n}]//Flatten (* G. C. Greubel, Feb 17 2021 *)
PROG
(PARI) {T(n, k) = if(n<k || k<0, 0, if(k==0, 1, if(n==k, 0, if(n>2*k, T(n-1, k) + T(n, n-k), T(n-1, k) + T(n, n-1-k)))))}
for(n=0, 12, for(k=0, n, print1(T(n, k), ", ")); print(""))
(Sage)
@CachedFunction
def T(n, k, p):
if (k<0 or n<k): return 0
elif (k==0): return 1
elif (k==n): return 0
elif (n>2*k): return T(n, n-k, p) + T(n-1, k, p)
else: return T(n, n-k-1, p) + p*T(n-1, k, p)
flatten([[T(n, k, 1) for k in (0..n)] for n in (0..12)]) # G. C. Greubel, Feb 17 2021
(Magma)
function T(n, k, p)
if k lt 0 or n lt k then return 0;
elif k eq 0 then return 1;
elif k eq n then return 0;
elif n gt 2*k then return T(n, n-k, p) + T(n-1, k, p);
else return T(n, n-k-1, p) + p*T(n-1, k, p);
end if;
return T;
end function;
[T(n, k, 1): k in [0..n], n in [0..12]]; // G. C. Greubel, Feb 17 2021
CROSSREFS
Cf. A108447 (central terms), A118341, A118343.
variants: A118344 (Catalan), A118362 (ternary), A118350, A118355.
Cf. A167763 (p=0), this sequence (p=1), A118345 (p=2), A118350 (p=3).
Sequence in context: A259475 A361952 A323224 * A213276 A210391 A071921
KEYWORD
nonn,tabl
AUTHOR
Paul D. Hanna, Apr 25 2006
STATUS
approved