login
Triangle read by rows: T(n,k) is the number of Motzkin paths of length n having k weak peaks.
2

%I #15 May 27 2015 09:56:58

%S 1,1,1,1,1,2,1,1,4,3,1,1,8,7,4,1,1,16,17,11,5,1,1,32,41,30,16,6,1,1,

%T 64,98,82,48,22,7,1,1,128,232,220,144,72,29,8,1,1,256,544,581,423,233,

%U 103,37,9,1,1,512,1264,1512,1216,738,356,142,46,10,1

%N Triangle read by rows: T(n,k) is the number of Motzkin paths of length n having k weak peaks.

%C A weak peak of a Motzkin path is a vertex on the top of a hump. A hump is an upstep followed by 0 or more flatsteps followed by a downstep. For example, the Motzkin path u*duu*h*h*dd, where u=(1,1), h=(1,0), d(1,-1), has 4 weak peaks (shown by the stars).

%C Row n (n>=1) contains n entries.

%C Sum of entries in row n is the Motzkin number A001006(n).

%C Sum(k*T(n,k), 0<=k<=n) = A247287(n).

%H Alois P. Heinz, <a href="/A247286/b247286.txt">Rows n = 0..141, flattened</a>

%F The g.f. G(t,z) satisfies G = 1 + z*G + z^2*(G - 1/(1-z) + t/(1-t*z))*G.

%e Row 3 is 1,2,1 because the Motzkin paths hhh, hu*d, u*dh, and u*h*d have 0, 1, 1, and 2 weak peaks (shown by the stars).

%e Triangle starts:

%e 1;

%e 1;

%e 1,1;

%e 1,2,1;

%e 1,4,3,1;

%e 1,8,7,4,1;

%p eq := G = 1+z*G+z^2*(G-1/(1-z)+t/(1-t*z))*G: G := RootOf(eq, G): Gser := simplify(series(G, z = 0, 16)): for n from 0 to 14 do P[n] := sort(expand(coeff(Gser, z, n))) end do: 1; for n to 14 do seq(coeff(P[n], t, k), k = 0 .. n-1) end do; # yields sequence in triangular form

%p # second Maple program:

%p b:= proc(x, y, t, c) option remember; `if`(y<0 or y>x, 0,

%p `if`(x=0, 1, expand(b(x-1, y-1, false, 0)*z^c+b(x-1, y, t,

%p `if`(t, c+1, 0))+ b(x-1, y+1, true, 1))))

%p end:

%p T:= n-> (p-> seq(coeff(p, z, i), i=0..degree(p)))(b(n, 0, false, 0)):

%p seq(T(n), n=0..14); # _Alois P. Heinz_, Sep 14 2014

%t b[x_, y_, t_, c_] := b[x, y, t, c] = If[y<0 || y>x, 0, If[x == 0, 1, Expand[b[x-1, y-1, False, 0]*z^c + b[x-1, y, t, If[t, c+1, 0]] + b[x-1, y+1, True, 1]]]]; T[n_] := Function[{p}, Table[Coefficient[p, z, i], {i, 0, Exponent[p, z]}]][b[n, 0, False, 0]]; Table[T[n], {n, 0, 14}] // Flatten (* _Jean-François Alcover_, May 27 2015, after _Alois P. Heinz_ *)

%Y Cf. A001006, A247287.

%K nonn,tabf

%O 0,6

%A _Emeric Deutsch_, Sep 14 2014