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.

Previous Showing 11-13 of 13 results.

A353132 Triangle read by rows of partial Bell polynomials B_{n,k}(x_1,...,x_{n-k+1}) evaluated at 2, 2, 12, 72, ..., (n-k)(n-k+1)!, divided by (n-k+1)!, n >= 1, 1 <= k <= n.

Original entry on oeis.org

2, 1, 4, 2, 6, 8, 3, 18, 24, 16, 4, 40, 100, 80, 32, 5, 78, 305, 440, 240, 64, 6, 140, 798, 1750, 1680, 672, 128, 7, 236, 1876, 5838, 8400, 5824, 1792, 256, 8, 378, 4056, 17136, 34524, 35616, 18816, 4608, 512, 9, 580, 8190, 45480, 122682, 175896, 137760, 57600, 11520, 1024
Offset: 1

Views

Author

Jordan Weaver, Apr 24 2022

Keywords

Examples

			For n = 4, k = 2, the partial Bell polynomial is B_{4,2}(x_1,x_2,x_3) = 4*x_1*x_3 + 3*x_2^2, so T(4,2) = B_{4,2}(2,2,12) - (4*2*12 + 3*2^2)/3! = 18.
Triangle begins:
   [1] 2;
   [2] 1,   4;
   [3] 2,   6,    8;
   [4] 3,  18,   24,    16;
   [5] 4,  40,  100,    80,     32;
   [6] 5,  78,  305,   440,    240,     64;
   [7] 6, 140,  798,  1750,   1680,    672,    128;
   [8] 7, 236, 1876,  5838,   8400,   5824,   1792,   256;
   [9] 8, 378, 4056, 17136,  34524,  35616,  18816,  4608,   512;
  [10] 9, 580, 8190, 45480, 122682, 175896, 137760, 57600, 11520, 1024.
		

Crossrefs

Formula

T(n,k) = A353131(n,k)/(n-k+1)!
Sum_{k=1..n} T(n,k) = A349458(n).

A335256 Irregular triangle read by rows: row n gives the coefficients of the n-th complete exponential Bell polynomial B_n(x_1, x_2, ..., x_n) with monomials sorted into standard order.

Original entry on oeis.org

1, 1, 1, 1, 3, 1, 1, 6, 4, 3, 1, 1, 10, 10, 15, 5, 10, 1, 1, 15, 20, 45, 15, 60, 15, 6, 15, 10, 1, 1, 21, 35, 105, 35, 210, 105, 21, 105, 70, 105, 7, 21, 35, 1, 1, 28, 56, 210, 70, 560, 420, 56, 420, 280, 840, 105, 28, 168, 280, 210, 280, 8, 28, 56, 35, 1
Offset: 1

Views

Author

Petros Hadjicostas, May 28 2020

Keywords

Comments

"Standard order" means as produced by Maple's "sort" command.
According to the Maple help files for the "sort" command, polynomials in multiple variables are "sorted in total degree with ties broken by lexicographic order (this is called graded lexicographic order)."
Thus, for example, x_1^2*x_3 = x_1*x_1*x_3 > x_1*x_2*x_2 = x_1*x_2^2, while x_1^2*x_4 = x_1*x_1*x_4 > x_1*x_2*x_3.
The number of terms in the n-th row is A000041(n), while the sum of the terms is A000110(n).
The function Bell(n,k) in the PARI program below is a modification of a similar function in the PARI help files and uses the Faà di Bruno formula (cf. A036040).

Examples

			The first few complete exponential Bell polynomials are:
(1) x[1];
(2) x[1]^2 + x[2];
(3) x[1]^3 + 3*x[1]*x[2] + x[3];
(4) x[1]^4 + 6*x[1]^2*x[2] + 4*x[1]*x[3] + 3*x[2]^2 + x[4];
(5) x[1]^5 + 10*x[1]^3*x[2] + 10*x[1]^2*x[3] + 15*x[1]*x[2]^2 + 5*x[1]*x[4] + 10*x[2]*x[3] + x[5];
(6) x[1]^6 + 15*x[1]^4*x[2] + 20*x[1]^3*x[3] + 45*x[1]^2*x[2]^2 + 15*x[1]^2*x[4] + 60*x[1]*x[2]*x[3] + 15*x[2]^3 + 6*x[1]*x[5] + 15*x[2]*x[4] + 10*x[3]^2 + x[6].
(7) x[1]^7 + 21*x[1]^5*x[2] + 35*x[1]^4*x[3] + 105*x[1]^3*x[2]^2 + 35*x[1]^3*x[4] + 210*x[1]^2*x[2]*x[3] + 105*x[1]*x[2]^3 + 21*x[1]^2*x[5] + 105*x[1]*x[2]*x[4] + 70*x[1]*x[3]^2 + 105*x[2]^2*x[3] + 7*x[1]*x[6] + 21*x[2]*x[5] + 35*x[3]*x[4] + x[7].
...
The first few rows of the triangle are
  1;
  1,  1;
  1,  3,  1;
  1,  6,  4,   3,   1;
  1, 10, 10,  15,   5,  10,   1;
  1, 15, 20,  45,  15,  60,  15,  6,  15, 10,   1;
  1, 21, 35, 105,  35, 210, 105, 21, 105, 70, 105, 7, 21, 35, 1;
  ...
		

References

  • L. Comtet, Advanced Combinatorics, Reidel, 1974, pp. 134 and 307-310.
  • J. Riordan, An Introduction to Combinatorial Analysis, Wiley, 1958, Chapter 2, Section 8 and table on page 49.

Crossrefs

For different versions, see A178867 and A268441.

Programs

  • Maple
    triangle := proc(numrows) local E, s, Q;
    E := add(x[i]*t^i/i!, i=1..numrows);
    s := series(exp(E), t, numrows+1);
    Q := k -> sort(expand(k!*coeff(s, t, k)));
    seq(print(coeffs(Q(k))), k=1..numrows) end:
    triangle(8); # Peter Luschny, May 30 2020
  • Mathematica
    imax = 10;
    polys = (CoefficientList[Exp[Sum[x[i]*t^i/i!, {i, 1, imax}]] + O[t]^imax // Normal, t]*Range[0, imax-1]!) // Rest;
    Table[MonomialList[polys[[i]], Array[x, i], "DegreeLexicographic"] /. x[] -> 1, {i, 1, imax-1}] // Flatten (* _Jean-François Alcover, Jun 02 2024 *)
  • PARI
    /* It produces the partial exponential Bell polynomials in decreasing degree, but the monomials are not necessarily in standard order. */
    Bell(n,k)= { my(x, v, dv, var = i->eval(Str("X", i))); v = vector(n, i, if (i==1, 'E, var(i-1))); dv = vector(n, i, if (i==1, 'X*var(1)*'E, var(i))); x = diffop('E, v, dv, n) / 'E; if (k < 0, subst(x,'X, 1), polcoeff(x, k, 'X)); };
    row(n) = for(k=1, n, print1("[", Bell(n, n+1-k), "]", ","))

Formula

B_n(x[1], ..., x[n]) = Sum_{k=1..n} B_{n,k}(x[1], ..., x[n-k+1]), where B_{n,k} = B_{n,k}(x[1], ..., x[n-k+1]) are the partial exponential Bell polynomials that satisfy B_{n,1} = x[n] for n >= 1 and B_{n,k} = (1/k)*Sum_{m=k-1..n-1} binomial(n,m)*x[n-m]*B_{m,k-1} for n >= 2 and k = 2..n.
E.g.f.: Exp(Sum_{i >= 1} x_i*t^i/i!) = 1 + Sum_{n >= 1} B_n(x_1, x_2, ..., x_n)*t^n/n! [Comtet, p. 134, Eq. [3b]].

A356656 Partition triangle read by rows. The coefficients of the incomplete Bell polynomials.

Original entry on oeis.org

1, 0, 1, 0, 1, 1, 0, 1, 3, 1, 0, 1, 4, 3, 6, 1, 0, 1, 5, 10, 10, 15, 10, 1, 0, 1, 6, 15, 10, 15, 60, 15, 20, 45, 15, 1, 0, 1, 7, 21, 35, 21, 105, 70, 105, 35, 210, 105, 35, 105, 21, 1, 0, 1, 8, 28, 56, 35, 28, 168, 280, 210, 280, 56, 420, 280, 840, 105, 70, 560, 420, 56, 210, 28, 1
Offset: 0

Views

Author

Peter Luschny, Aug 28 2022

Keywords

Comments

We call a triangle a 'partition triangle' if the rows have length A000041 or A000041 + 1.

Examples

			The triangle starts:
[0] 1;
[1] 0, 1;
[2] 0, 1, 1;
[3] 0, 1, 3,  1;
[4] 0, 1, [4,  3],  6,  1;
[5] 0, 1, [5, 10], [10, 15],  10,  1;
[6] 0, 1, [6, 15, 10], [15,  60, 15], [20, 45],  15,   1;
[7] 0, 1, [7, 21, 35], [21, 105, 70, 105], [35, 210, 105], [35, 105], 21, 1;
Summing the bracketed terms reduces the triangle to A048993.
The first few polynomials are:
[0] 1;
[1] 0, z[0];
[2] 0, z[1], z[0]^2;
[3] 0, z[2], 3*z[0]*z[1], z[0]^3;
[4] 0, z[3], 4*z[0]*z[2]+3*z[1]^2, 6*z[0]^2*z[1], z[0]^4;
[5] 0, z[4], 5*z[0]*z[3]+10*z[1]*z[2], 10*z[0]^2*z[2]+15*z[0]*z[1]^2, 10*z[0]^3* z[1], z[0]^5;
It is noteworthy that the substitution z[n] -> n! for n >= 0 yields A132393. More examples are given in the authors blog post (see links).
		

Crossrefs

Variants: A036040, A080575, A178867. Row sums: A000110.
A048993 (reduced triangle), A052810 (length of rows), A132393 (factorial substituion).

Programs

  • Maple
    aRow := n -> seq(coeffs(IncompleteBellB(n, k, seq(z[i], i = 0..n))), k = 0..n):
    seq(aRow(n), n = 0..8);
  • SageMath
    from functools import cache
    @cache
    def incomplete_bell_polynomial(n, k):
        Z = var(["z_" + str(i) for i in range(n - k + 1)])
        R = PolynomialRing(ZZ, Z, n - k + 1, order='lex')
        if k == 0: return R(k^n)
        return R(sum(binomial(n-1,j-1) * incomplete_bell_polynomial(n-j,k-1) * Z[j-1]
                for j in range(n - k + 2)).expand())
    def poly_row(n): return [incomplete_bell_polynomial(n, k) for k in range(n + 1)]
    def coeff_row(n): return flatten([[0] if (c := p.coefficients()) == [] else c for p in poly_row(n)])
    for n in range(8): print(coeff_row(n))

Formula

In row n the coefficients of IBell(n, k, Z_n) for k = 0..n are lined up. Z_n denotes the set of variables z[0], z[1], ... z[n] of the incomplete Bell polynomial IBell(n, k) of degree k.
Previous Showing 11-13 of 13 results.