cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A370983 Triangle read by rows: T(n, k) = (n + k - 1)! / (k!*(n - k)!) if k > 0 and T(n, 0) = 0^n.

Original entry on oeis.org

1, 0, 1, 0, 2, 3, 0, 3, 12, 20, 0, 4, 30, 120, 210, 0, 5, 60, 420, 1680, 3024, 0, 6, 105, 1120, 7560, 30240, 55440, 0, 7, 168, 2520, 25200, 166320, 665280, 1235520, 0, 8, 252, 5040, 69300, 665280, 4324320, 17297280, 32432400
Offset: 0

Views

Author

Peter Luschny, Mar 07 2024

Keywords

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).

Examples

			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;
		

Crossrefs

Cf. A006963 (main diagonal), A001813 (subdiagonal), A371028 (row sums).

Programs

  • 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
  • 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)])
  • 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.
    # For example ScaledInv(A370983, 7) gives the first seven rows of A128899.
    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
    

Formula

Assume n > 0 and k > 0 for the next four formulas:
T(n, k) = ((-1)^k / n) * Product_{j=0..k-1} ((j - n)*(j + n)/(j + 1)).
T(n, k) = binomial(n, k) * Pochhammer(n, k) / n.
T(n, k) = A370706(n, k) / n.
T(n, k) = A370707(n, k) / (n*k!).