OFFSET
0,5
COMMENTS
A signed version of Catalan's triangle (version A128899) can be generated as the scaled inverse of this triangle. The scaled inverse of T is the inverse I of T post-processed by I(n, k) -> I(n, k)/I(n, n).
FORMULA
EXAMPLE
Triangle starts:
[0] 1;
[1] 0, 1;
[2] 0, 2, 3;
[3] 0, 3, 12, 20;
[4] 0, 4, 30, 120, 210;
[5] 0, 5, 60, 420, 1680, 3024;
[6] 0, 6, 105, 1120, 7560, 30240, 55440;
[7] 0, 7, 168, 2520, 25200, 166320, 665280, 1235520;
MAPLE
T := (n, k) -> `if`(k = 0, k^n, (n + k - 1)! / (k!*(n - k)!)):
seq(seq(T(n, k), k = 0..n), n = 0..9);
A370983 := (n, k) -> local j; ifelse(n = 0, 1, ifelse(k = 0, 0,
(-1)^k*mul((j - n) * (j + n) / (j + 1), j = 0..k - 1) / n)):
MATHEMATICA
T[n_, k_] := If[n == 0, 1, If[k == 0, 0, (n + k - 1)! / (k! * (n - k)!)]];
Table[T[n, k], {n, 0, 8}, {k, 0, n}] // Flatten
PROG
(SageMath)
def A370983(n, k):
if k > n: return 0
if n == 0: return 1
if k == 0: return 0
return binomial(n, k) * rising_factorial(n, k) // n
for n in range(7): print([A370983(n, k) for k in range(n + 1)])
(SageMath) # Added for the sake of reference only.
def ScaledInv(T, dim): # We assume T(n, n) != 0 for all n.
M = matrix(QQ, dim, T).inverse()
for n in range(dim):
c = M[n][n]
M[n] = [M.row(n)[k] / c for k in range(dim)]
return M
(Python)
from math import prod
def T(n, k):
if n == 0: return 1
if k == 0: return 0
return (-1)**k * prod((j - n) * (j + n) / (j + 1) for j in range(k)) / n
for n in range(7): print([T(n, k) for k in range(n + 1)])
CROSSREFS
KEYWORD
nonn,tabl
AUTHOR
Peter Luschny, Mar 07 2024
STATUS
approved