A298645 Triangle read by rows: T(n,k) is the number of Dyck paths of semilength n having degree of asymmetry k (n >= 1, 0 <= k <= n-1).
1, 2, 0, 3, 0, 2, 6, 0, 6, 2, 10, 0, 16, 8, 8, 20, 0, 40, 24, 32, 16, 35, 0, 90, 60, 108, 84, 52, 70, 0, 210, 150, 310, 294, 262, 134, 126, 0, 448, 336, 816, 880, 1008, 816, 432, 252, 0, 1008, 784, 2100, 2460, 3208, 3192, 2544, 1248, 462, 0, 2100, 1680, 5040, 6300, 9300, 10680, 10760, 8360, 4104
Offset: 1
Examples
Triangle begins: 1; 2, 0; 3, 0, 2; 6, 0, 6, 2; 10, 0, 16, 8, 8; 20, 0, 40, 24, 32, 16; 35, 0, 90, 60, 108, 84, 52; 70, 0, 210, 150, 310, 294, 262, 134; 126, 0, 448, 336, 816, 880, 1008, 816, 432; 252, 0, 1008, 784, 2100, 2460, 3208, 3192, 2544, 1248; ... Row n = 3 is [3,0,2]. Indeed, showing the step levels, the Dyck paths 111111, 122221, 123321 are symmetric and each of the Dyck paths 111221, 122111 has degree of asymmetry 2.
Links
- Alois P. Heinz, Rows n = 1..141, flattened
Programs
-
Maple
m := 8: EL := proc (s) options operator, arrow: [1, seq(1+s[j], j = 1 .. nops(s)), 1] end proc: mg := proc (u, v) options operator, arrow: [seq(u[i], i = 1 .. nops(u)), seq(v[j], j = 1 .. nops(v))] end proc: ME := proc (u, v) options operator, arrow: mg(EL(u), v) end proc: Y[0] := {[]}: for n to m do Y[n] := {}: for p from 0 to n-1 do for q to nops(Y[p]) do for r to nops(Y[n-1-p]) do Y[n] := `union`(Y[n], {ME(Y[p][q], Y[n-1-p][r])}) end do end do end do end do: r := proc (s) options operator, arrow: [seq(s[nops(s)-j+1], j = 1 .. nops(s))] end proc: b := proc (s) local i, j: j := 0: for i to nops(s) do if 0 < abs((s-r(s))[i]) then j := j+1 else end if end do: (1/2)*j end proc: P := proc (n) options operator, arrow: sort(add(t^b(Y[n][q]), q = 1 .. binomial(2*n, n)/(n+1))) end proc: T := proc (n, k) options operator, arrow: coeff(P(n), t, k) end proc: for n to m do seq(T(n, k), k = 0 .. n-1) end do; # second Maple program: b:= proc(x, y, v) option remember; expand( `if`(min(y, v, x-max(y, v))<0, 0, `if`(x=0, 1, (l-> add(add( `if`(y=v+(j-i)/2, 1, z)*b(x-1, y+i, v+j), i=l), j=l))([-1, 1])))) end: g:= proc(n) option remember; add(b(n, j$2), j=0..n) end: T:= (n, k)-> coeff(g(n), z, k): seq(seq(T(n, k), k=0..n-1), n=1..12); # Alois P. Heinz, Feb 20 2018
-
Mathematica
b[x_, y_, v_] := b[x, y, v] = Expand[If[Min[y, v, x - Max[y, v]] < 0, 0, If[x == 0, 1, Function[l, Sum[Sum[If[y == v + (j - i)/2, 1, z]*b[x - 1, y + i, v + j], {i, l}], {j, l}]][{-1, 1}]]]]; g[n_] := g[n] = Sum[b[n, j, j], {j, 0, n}]; T[n_, k_] := Coefficient[g[n], z, k]; Table[Table[T[n, k], {k, 0, n-1}], {n, 1, 12}] // Flatten (* Jean-François Alcover, Dec 07 2019, after Alois P. Heinz *)
Comments