Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Search: a365674 -id:a365674
     Sort: relevance | references | number | modified | created      Format: long | short | data
Array A(n, k) read by ascending antidiagonals. Polygonal number weighted generalized Catalan sequences.
+10
6
1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 3, 4, 1, 1, 1, 4, 15, 8, 1, 1, 1, 5, 34, 105, 16, 1, 1, 1, 6, 61, 496, 945, 32, 1, 1, 1, 7, 96, 1385, 11056, 10395, 64, 1, 1, 1, 8, 139, 2976, 50521, 349504, 135135, 128, 1, 1, 1, 9, 190, 5473, 151416, 2702765, 14873104, 2027025, 256, 1
OFFSET
0,9
COMMENTS
Using polygonal numbers as weights, a recursion for triangles is defined, whose main diagonals represents a family of sequences, which include, among others, the powers of 2, the double factorial of odd numbers, the reduced tangent numbers, and the Euler numbers.
Apart from the edge cases k = 0 and k = n the recursion is T(n, k) = w(n, k) * T(n, k - 1) + T(n - 1, k). T(n, 0) = 1 and T(n, n) = T(n, n-1) if n > 0.
The weights w(n, k) identical to 1 yield the recursion of the Catalan triangle A009766 (with main diagonal the Catalan numbers). Here the polygonal numbers are used as weights in the form w(n, k) = p(s, n - k + 1), where the parameter s is the number of sides of the polygon and p(s, n) = ((s-2) * n^2 - (s-4) * n) / 2, see A317302.
EXAMPLE
Array A(n, k) starts: (polygon|diagonal|triangle)
[0] 1, 1, 1, 1, 1, 1, 1, ... A258837 A000012
[1] 1, 1, 2, 4, 8, 16, 32, ... A080956 A011782
[2] 1, 1, 3, 15, 105, 945, 10395, ... A001477 A001147 A001498
[3] 1, 1, 4, 34, 496, 11056, 349504, ... A000217 A002105 A365674
[4] 1, 1, 5, 61, 1385, 50521, 2702765, ... A000290 A000364 A060058
[5] 1, 1, 6, 96, 2976, 151416, 11449296, ... A000326 A126151 A366138
[6] 1, 1, 7, 139, 5473, 357721, 34988647, ... A000384 A126156 A365672
[7] 1, 1, 8, 190, 9080, 725320, 87067520, ... A000566 A366150 A366149
[8] 1, 1, 9, 249, 14001, 1322001, 188106489, ... A000567
MAPLE
poly := (s, n) -> ((s - 2) * n^2 - (s - 4) * n) / 2:
T := proc(s, n, k) option remember; if k = 0 then 1 else if k = n then T(s, n, k-1) else poly(s, n - k + 1) * T(s, n, k - 1) + T(s, n - 1, k) fi fi end:
for n from 0 to 8 do A := (n, k) -> T(n, k, k): seq(A(n, k), k = 0..9) od;
# Alternative, using continued fractions:
A := proc(p, L) local CF, poly, k, m, P, ser;
poly := (s, n) -> ((s - 2)*n^2 - (s - 4)*n)/2;
CF := 1 + x;
for k from 1 to L do
m := L - k + 1;
P := poly(p, m);
CF := 1/(1 - P*x*CF)
od;
ser := series(CF, x, L);
seq(coeff(ser, x, m), m = 0..L-1)
end:
for p from 0 to 8 do lprint(A(p, 8)) od;
MATHEMATICA
poly[s_, n_] := ((s - 2) * n^2 - (s - 4) * n) / 2;
T[s_, n_, k_] := T[s, n, k] = If[k == 0, 1, If[k == n, T[s, n, k - 1], poly[s, n - k + 1] * T[s, n, k - 1] + T[s, n - 1, k]]];
A[n_, k_] := T[n, k, k];
Table[A[n - k, k], {n, 0, 10}, {k, 0, n}] // Flatten (* Jean-François Alcover, Nov 27 2023, from first Maple program *)
PROG
(Python)
from functools import cache
@cache
def T(s, n, k):
if k == 0: return 1
if k == n: return T(s, n, k - 1)
p = (n - k + 1) * ((s - 2) * (n - k + 1) - (s - 4)) // 2
return p * T(s, n, k - 1) + T(s, n - 1, k)
def A(n, k): return T(n, k, k)
for n in range(9): print([A(n, k) for k in range(9)])
(PARI)
A(p, n) = {
my(CF = 1 + x,
poly(s, n) = ((s - 2)*n^2 - (s - 4)*n)/2,
m, P
);
for(k = 1, n,
m = n - k + 1;
P = poly(p, m);
CF = 1/(1 - P*x*CF)
);
Vec(CF + O(x^(n)))
}
for(p = 0, 8, print(A(p, 8)))
\\ Michel Marcus and Peter Luschny, Oct 02 2023
CROSSREFS
Cf. A009766, A366137 (central diagonal), A317302 (table of polygonal numbers).
KEYWORD
nonn,tabl
AUTHOR
Peter Luschny, Sep 30 2023
STATUS
approved

Search completed in 0.005 seconds