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.

A269944 Triangle read by rows, Stirling cycle numbers of order 2, T(n, n) = 1, T(n, k) = 0 if k < 0 or k > n, otherwise T(n, k) = T(n-1, k-1) + (n-1)^2*T(n-1, k), for 0 <= k <= n.

Original entry on oeis.org

1, 0, 1, 0, 1, 1, 0, 4, 5, 1, 0, 36, 49, 14, 1, 0, 576, 820, 273, 30, 1, 0, 14400, 21076, 7645, 1023, 55, 1, 0, 518400, 773136, 296296, 44473, 3003, 91, 1, 0, 25401600, 38402064, 15291640, 2475473, 191620, 7462, 140, 1
Offset: 0

Views

Author

Peter Luschny, Mar 22 2016

Keywords

Comments

Also known as central factorial numbers |t(2*n, 2*k)| (cf. A008955).
The analog for the Stirling set numbers is A269945.

Examples

			Triangle starts:
  [1]
  [0,     1]
  [0,     1,     1]
  [0,     4,     5,    1]
  [0,    36,    49,   14,    1]
  [0,   576,   820,  273,   30,  1]
  [0, 14400, 21076, 7645, 1023, 55, 1]
		

Crossrefs

Variants: A204579 (signed, row 0 missing), A008955.
Cf. A007318 (order 0), A132393 (order 1), A269947 (order 3).
Cf. A000330 (subdiagonal), A001044 (column 1), A101686 (row sums), A269945 (Stirling set), A269941 (P-transform).

Programs

  • Maple
    T := proc(n, k) option remember; if n=k then return 1 fi; if k<0 or k>n then return 0 fi; T(n-1, k-1)+(n-1)^2*T(n-1, k) end: seq(seq(T(n, k), k=0..n), n=0..8);
    # Alternatively with the P-transform (cf. A269941):
    A269944_row := n -> PTrans(n, n->`if`(n=1, 1, (n-1)^2/(n*(4*n-2))), (n,k)->(-1)^k*(2*n)!/(2*k)!): seq(print(A269944_row(n)), n=0..8);
    # From Peter Luschny, Feb 29 2024: (Start)
    # Computed as the coefficients of polynomials:
    P := (x, n) -> local j; mul((j - x)*(j + x), j = 0..n-1):
    T := (n, k) -> (-1)^k*coeff(P(x, n), x, 2*k):
    for n from 0 to 6 do seq(T(n, k), k = 0..n) od;
    # Alternative, using the exponential generating function:
    egf := cosh(2*arcsin(sqrt(t)*x/2)/sqrt(t)):
    ser := series(egf, x, 20): cx := n -> coeff(ser, x, 2*n):
    Trow := n -> local k; seq((2*n)!*coeff(cx(n), t, n-k), k = 0..n):
    seq(print(Trow(n)), n = 0..9);  # (End)
    # Alternative, row polynomials:
    rowpoly := n -> pochhammer(-sqrt(x), n) * pochhammer(sqrt(x), n):
    row := n -> local k; seq((-1)^k*coeff(expand(rowpoly(n)), x, k), k = 0..n):
    seq(print(row(n)), n = 0..6);  # Peter Luschny, Aug 03 2024
  • Mathematica
    T[n_, n_] = 1; T[n_, k_] /; 0 <= k <= n := T[n, k] = T[n - 1, k - 1] + (n - 1)^2*T[n - 1, k]; T[, ] = 0; Table[T[n, k], {n, 0, 8}, {k, 0, n}] // Flatten
    (* Jean-François Alcover, Jul 25 2019 *)
  • Sage
    stircycle2 = lambda n: 1 if n == 1 else (n-1)^2/(n*(4*n-2))
    norm = lambda n,k: (-1)^k*factorial(2*n)/factorial(2*k)
    M = PtransMatrix(7, stircycle2, norm)
    for m in M: print(m)

Formula

T(n,k) = (-1)^k*((2*n)! / (2*k)!)*P[n, k](s(n)) where P is the P-transform and s(n) = (n - 1)^2 / (n*(4*n - 2)). The P-transform is defined in the link. See the Sage and Maple implementations below.
T(n, 1) = ((n - 1)!)^2 for n >= 1 (cf. A001044).
T(n, n-1) = n*(n - 1)*(2*n - 1)/6 for n >= 1 (cf. A000330).
Row sums: Product_{k=1..n} ((k - 1)^2 + 1) for n >= 0 (cf. A101686).
From Fabián Pereyra, Apr 25 2022: (Start)
T(n,k) = (-1)^(n-k)*Sum_{j=2*k..2*n} Stirling1(2*n,j)*binomial(j,2*k)*(n-1)^(j-2*k).
T(n,k) = Sum_{j=0..2*k} (-1)^(j - k)*Stirling1(n, j)*Stirling1(n, 2*k - j). (End)
From Peter Luschny, Feb 29 2024: (Start)
T(n, k) = (-1)^k*[x^(2*k)] P(x, n) where P(x, n) = Product_{j=0..n-1} (j-x)*(j+x).
T(n, k) = (2*n)!*[t^(n-k)] [x^(2*n)] cosh(2*arcsin(sqrt(t)*x/2)/sqrt(t)). (End)
T(n, k) = (-1)^k*[x^k] Pochhammer(-sqrt(x), n) * Pochhammer(sqrt(x), n). - Peter Luschny, Aug 03 2024