login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

Triangular array T read by rows: T(n,0)=T(n,n)=1 for n >= 0; for n >= 2 and 1 <= k <= n-1, T(n,k) = T(n-1,k-1) + T(n-2,k-1) + T(n-1,k) if 1 <= k <= floor(n/2), else T(n,k) = T(n-1,k-1) + T(n-1,k).
32

%I #39 Apr 19 2020 07:39:54

%S 1,1,1,1,3,1,1,5,4,1,1,7,12,5,1,1,9,24,17,6,1,1,11,40,53,23,7,1,1,13,

%T 60,117,76,30,8,1,1,15,84,217,246,106,38,9,1,1,17,112,361,580,352,144,

%U 47,10,1,1,19,144,557,1158,1178,496,191,57,11,1

%N Triangular array T read by rows: T(n,0)=T(n,n)=1 for n >= 0; for n >= 2 and 1 <= k <= n-1, T(n,k) = T(n-1,k-1) + T(n-2,k-1) + T(n-1,k) if 1 <= k <= floor(n/2), else T(n,k) = T(n-1,k-1) + T(n-1,k).

%C T(n,k) is the number of paths from (0,0) to (k,n-k) in the directed graph having vertices (i,j) and edges (i,j)-to-(i+1,j) and (i,j)-to-(i,j+1) for i,j>= 0 and edges (i,i+h)-to-(i+1,i+h+1) for i>=0, h>=0.

%C Also, square array R read by antidiagonals with R(i,j) = T(i+j,i) equal number of paths from (0,0) to (i,j). - _Max Alekseyev_, Jan 13 2015

%H G. C. Greubel, <a href="/A026780/b026780.txt">Rows n = 0..100 of triangle, flattened</a>

%H M. A. Alekseyev, <a href="https://arxiv.org/abs/1601.06158">On Enumeration of Dyck-Schroeder Paths</a>, Journal of Combinatorial Mathematics and Combinatorial Computing 106 (2018), 59-68; arXiv:1601.06158 [math.CO], 2016-2018.

%F For n>=2*k, T(n,k) = coefficient of x^k in F(x)*S(x)^(n-2*k). For n<=2*k, T(n,k) = coefficient of x^(n-k) in F(x)*C(x)^(2*k-n). Here C(x) = (1 - sqrt(1-4x))/(2*x) is o.g.f. for A000108, S(x) = (1 - x - sqrt(1-6*x+x^2))/(2*x) is o.g.f. for A006318, and F(x) = S(x)/(1 - x*C(x)*S(x)) is o.g.f. for A026781. - _Max Alekseyev_, Jan 13 2015

%e The array T(n,k) starts with:

%e n=0: 1;

%e n=1: 1, 1;

%e n=2: 1, 3, 1;

%e n=3: 1, 5, 4, 1;

%e n=4: 1, 7, 12, 5, 1;

%e n=5: 1, 9, 24, 17, 6, 1;

%e n=6: 1, 11, 40, 53, 23, 7, 1;

%e ...

%p T:= proc(n,k) option remember;

%p if n<0 then 0;

%p elif k=0 or k =n then 1;

%p elif k <= n/2 then

%p procname(n-1,k-1)+procname(n-2,k-1)+procname(n-1,k) ;

%p else

%p procname(n-1,k-1)+procname(n-1,k) ;

%p fi ;

%p end proc:

%p seq(seq(T(n,k), k=0..n), n=0..12); # _G. C. Greubel_, Nov 01 2019

%t T[n_, k_]:= T[n, k]= If[n<0, 0, If[k==0 || k==n, 1, If[k<=n/2, T[n-1, k-1] + T[n-2, k-1] + T[n-1, k], T[n-1, k-1] + T[n-1, k] ]]];

%t Table[T[n, k], {n, 0, 10}, {k, 0, n}]//Flatten (* _G. C. Greubel_, Nov 01 2019 *)

%o (PARI) T(n,k) = if(n<0, 0, if(k==0 || k==n, 1, if( k<=n/2, T(n-1,k-1) + T(n-2,k-1) + T(n-1,k), T(n-1,k-1) + T(n-1,k) ));)

%o for(n=0,12, for(k=0,n, print1(T(n,k), ", "))) \\ _G. C. Greubel_, Oct 31 2019

%o (Sage)

%o @CachedFunction

%o def T(n, k):

%o if (n<0): return 0

%o elif (k==0 or k==n): return 1

%o elif (k<=n/2): return T(n-1,k-1) + T(n-2,k-1) + T(n-1,k)

%o else: return T(n-1,k-1) + T(n-1,k)

%o [[T(n, k) for k in (0..n)] for n in (0..12)] # _G. C. Greubel_, Oct 31 2019

%o (GAP)

%o T:= function(n,k)

%o if n<0 then return 0;

%o elif k=0 or k=n then return 1;

%o elif (k <= Int(n/2)) then return T(n-1,k-1)+T(n-2,k-1) +T(n-1,k);

%o else return T(n-1,k-1) + T(n-1,k);

%o fi;

%o end;

%o Flat(List([0..12], n-> List([0..n], k-> T(n,k) ))); # _G. C. Greubel_, Oct 31 2019

%Y Cf. A026787 (row sums), A026781 (center elements), A249488 (row-reversed version).

%Y Cf. A026782, A026783, A026784, A026785, A026786, A026787, A026788, A026789, A026790.

%K nonn,tabl

%O 0,5

%A _Clark Kimberling_

%E Edited by _Max Alekseyev_, Dec 02 2015