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.

A257563 Triangle read by rows, coefficients T(n,k) of polynomials related to the Bell polynomials, for n>=0 and 0<=k<=n.

Original entry on oeis.org

1, 0, 2, 0, 1, 3, 0, 1, 5, 4, 0, 1, 10, 14, 5, 0, 1, 19, 48, 30, 6, 0, 1, 36, 149, 158, 55, 7, 0, 1, 69, 445, 727, 413, 91, 8, 0, 1, 134, 1308, 3126, 2638, 924, 140, 9, 0, 1, 263, 3822, 12932, 15396, 7818, 1848, 204, 10, 0, 1, 520, 11159, 52278, 84920, 59382, 19998, 3396, 285, 11
Offset: 0

Views

Author

Peter Luschny, May 10 2015

Keywords

Comments

The multivariate partial Bell polynomials as defined for example by L. Comtet, Advanced Combinatorics, depend on the variables x_1, x_2, ... Here we add a variable x_0 to cover the case of the first column (k=0) in the lower triangular matrix of the coefficients of the polynomials in a systematic way. The Bell polynomial is defined in the usual way as the row sum of the partial Bell polynomials and the univariate Bell polynomial as the Bell polynomial with all x_n set to the same variable x. We call these polynomials the x0-based univariate Bell polynomials. The classical univariate Bell polynomials are obtained by substituting x_0 = 0 prior to collapsing the x_n to one variable. In this case the coefficients of the polynomials are the Stirling subset numbers. The triangle given here are the coefficients of the polynomials in the general case.

Examples

			The triangle starts:
[1]
[0, 2]
[0, 1, 3]
[0, 1, 5, 4]
[0, 1, 10, 14, 5]
[0, 1, 19, 48, 30, 6]
[0, 1, 36, 149, 158, 55, 7]
		

References

  • L. Comtet, Advanced Combinatorics, Reidel, 1974, p. 135.

Crossrefs

Programs

  • Maple
    T_row := proc(n) local T; T := proc(n,k) option remember; if k = 0 then x^n else add(binomial(n-1,j-1)*T(n-j,k-1)*x, j=0..n-k+1) fi end; PolynomialTools:-CoefficientList(add(T(n,k),k=0..n), x) end: seq(print(T_row(n)), n=0..6);
  • Mathematica
    T[n_, k_] := T[n, k] = If[k==0, x^n, Sum[Binomial[n-1, j-1]*T[n-j, k-1]*x, {j, 0, n-k+1}]]; row[n_] := CoefficientList[Sum[T[n, k], {k, 0, n}], x]; Table[row[n], {n, 0, 10}] // Flatten (* Jean-François Alcover, Jan 20 2016, adapted from Maple *)
  • Sage
    def partial_bell_polynomial(n,k):
        X = var(['x_'+str(i) for i in (0..n+1)])
        @cached_function
        def T(n,k):
            if k==0: return X[0]^n
            return sum(binomial(n-1,j-1)*X[j]*T(n-j,k-1) for j in (0..n-k+1))
        return T(n,k).expand()
    def univariate_bell_polynomial(n): # for comparison only
        p = sum(partial_bell_polynomial(n,k) for k in (0..n)).subs(x_0=0)
        q = p({p.variables()[i]:x for i in range(len(p.variables()))})
        R = PolynomialRing(QQ,'x')
        return R(q)
    def x0_based_univariate_bell_polynomial(n):
        p = sum(partial_bell_polynomial(n,k) for k in (0..n))
        q = p({p.variables()[i]:x for i in range(len(p.variables()))})
        R = PolynomialRing(QQ,'x')
        return R(q)
    for n in (0..6): x0_based_univariate_bell_polynomial(n).list()

Formula

Row sums are Bell(n)*(2-0^n) = A186021(n).