OFFSET
0,4
COMMENTS
Row n contains n+1 terms.
LINKS
Gheorghe Coserea, Rows n = 0..200, flattened
Sean R. Carrell, Guillaume Chapuy, Simple recurrence formulas to count maps on orientable surfaces, arXiv:1402.6300 [math.CO], 2014.
EXAMPLE
Triangle starts:
n\f [1] [2] [3] [4] [5] [6] [7] [8]
[0] 1;
[1] 1, 1;
[2] 2, 5, 2;
[3] 5, 22, 22, 5;
[4] 14, 93, 164, 93, 14;
[5] 42, 386, 1030, 1030, 386, 42;
[6] 132, 1586, 5868, 8885, 5868, 1586, 132;
[7] 429, 6476, 31388, 65954, 65954, 31388, 6476, 429;
[8] ...
MATHEMATICA
Q[0, 1, 0] = 1; Q[n_, f_, g_] /; n<0 || f<0 || g<0 = 0;
Q[n_, f_, g_] := Q[n, f, g] = 6/(n+1) ((2n-1)/3 Q[n-1, f, g] + (2n-1)/3 Q[n - 1, f-1, g] + (2n-3) (2n-2) (2n-1)/12 Q[n-2, f, g-1] + 1/2 Sum[l = n-k; Sum[v = f-u; Sum[j = g-i; Boole[l >= 1 && v >= 1 && j >= 0] (2k-1) (2l-1) Q[k-1, u, i] Q[l-1, v, j], {i, 0, g}], {u, 1, f}], {k, 1, n}]);
Table[Q[n, f, 0], {n, 0, 8}, {f, 1, n+1}] // Flatten (* Jean-François Alcover, Aug 10 2018 *)
PROG
(PARI)
N = 8; G = 0; gmax(n) = min(n\2, G);
Q = matrix(N + 1, N + 1);
Qget(n, g) = { if (g < 0 || g > n/2, 0, Q[n+1, g+1]) };
Qset(n, g, v) = { Q[n+1, g+1] = v };
Quadric({x=1}) = {
Qset(0, 0, x);
for (n = 1, length(Q)-1, for (g = 0, gmax(n),
my(t1 = (1+x)*(2*n-1)/3 * Qget(n-1, g),
t2 = (2*n-3)*(2*n-2)*(2*n-1)/12 * Qget(n-2, g-1),
t3 = 1/2 * sum(k = 1, n-1, sum(i = 0, g,
(2*k-1) * (2*(n-k)-1) * Qget(k-1, i) * Qget(n-k-1, g-i))));
Qset(n, g, (t1 + t2 + t3) * 6/(n+1))));
};
Quadric('x);
concat(apply(p->Vecrev(p/'x), vector(N+1 - 2*G, n, Qget(n-1 + 2*G, G))))
CROSSREFS
KEYWORD
nonn,tabl
AUTHOR
Gheorghe Coserea, Mar 14 2016
STATUS
approved