BellB
Details
- Mathematical function, suitable for both symbolic and numerical manipulation.
- The Bell polynomials satisfy the generating function relation
. - The Bell numbers are given by
. - For certain special arguments, BellB automatically evaluates to exact values.
- BellB can be evaluated to arbitrary numerical precision.
- BellB automatically threads over lists.
Background & Context
- BellB is a mathematical function that returns a Bell number or polynomial. In particular, BellB[n,x] returns the

Bell polynomial
and BellB[n] returns the 
Bell number
. Bell polynomials can be determined from the exponential generating function
. The Bell numbers also satisfy the recurrence relation
. The first few Bell polynomials
are
, while the first few Bell numbers
are
. - The Bell polynomial is also called an exponential polynomial or, more explicitly, the "complete exponential Bell polynomial" and is sometimes denoted
. Bell polynomials are named after mathematician and math expositor Eric Temple Bell, who wrote about them in 1934. - The polynomial
has the interpretation that if there are
partitions of
into
parts, then
. Furthermore, if there are
total partitions of
, then
. For example, the set
having
elements can be partitioned into
parts
ways
,
part
way (
),
parts
ways (
,
and
), and
parts
way (
), giving
. Since there are five total ways to partition
,
. - The Bell polynomial and number are a special case of the BellY function, with
and
. Letting
denote the Stirling number of the second kind, returned by StirlingS2,
.
Examples
open all close allBasic Examples (2)
Scope (5)
BellB[1000, 0.5]The precision of the output tracks the precision of the input:
BellB[1000, 0.500000000000000000000000]BellB threads element-wise over lists:
BellB[{1, 2, 3, 4, 5, 6}]BellB can be applied to a power series:
BellB[n, Sin[x] + O[x] ^ 3]TraditionalForm formatting:
BellB[n]//TraditionalFormBellB[n, x]//TraditionalFormApplications (4)
BellB numbers versus their asymptotics:
Show[ListPlot[Table[(Log[BellB[n]]/n), {n, 50}]], Plot[Log[n] + (Log[Log[n]] + 1) ((1/Log[n]) - 1) + (1/2) ((Log[Log[n]]/Log[n]))^2, {n, 5, 50}]]Compute the first 10 complementary Bell numbers:
Table[BellB[n, -1], {n, 10}]Compare with an expression in terms of the Stirling number of the second kind:
Table[Underoverscript[∑, k = 0, n](-1)^kStirlingS2[n, k], {n, 10}]Verify an expression for the Bell number in terms of a Hessenberg determinant for the first few cases:
Table[BellB[n + 1] == Det[SparseArray[{Band[{2, 1}] -> 1, Band[{1, 1}] -> 2, {j_, k_} /; j < k :> (-1)^j + kBinomial[k - 1, j - 1]}, {n, n}]], {n, 2, 9}]The Bell numbers BellB[n] can be characterized as the unique set of numbers such that two certain Hankel determinants made from these numbers are both equal to BarnesG[n+2]. Verify for the first few cases:
Table[BarnesG[n + 2] == Det[HankelMatrix[BellB[Range[0, n]], BellB[Range[n, 2n]]]] == Det[HankelMatrix[BellB[Range[n + 1]], BellB[Range[n + 1, 2n + 1]]]], {n, 9}]Properties & Relations (7)
The exponential generating function for BellB:
ExponentialGeneratingFunction[BellB[n], n, x]Compare with the explicit summation formula:
Sum[BellB[n]x^n / n!, {n, 0, Infinity}]Sum can give results involving BellB:
Sum[k^n / k!, {k, 0, Infinity}, Assumptions -> n∈Integers && n ≥ 0]Sum[StirlingS2[n, k], {k, 0, n}]The ![]()
moment of a PoissonDistribution is given by the ![]()
Bell polynomial in its mean
:
Moment[PoissonDistribution[μ], n]Use FullSimplify to simplify expressions involving BellB:
FullSimplify[Mod[BellB[k + p] + BellB[k] - BellB[k + 1], p], p ∈ Primes]Compute Bell numbers directly from set partitions
:
Table[Sum[(n!/Underoverscript[∏, k = 1, n]k!^Subscript[m, k]Subscript[m, k]!)Boole[Subsuperscript[∑, k = 0, n]k Subscript[m, k] == n∧Subsuperscript[∑, k = 1, n]Subscript[m, k] == Subscript[m, 0]], Evaluate[Array[{Subscript[m, #], 0, n}&, n + 1, 0, Sequence]]], {n, 1, 5}]Use IntegerPartitions to directly sum over terms that satisfy the constraints on indices:
Table[Sum[(Multinomial@@p) / Product[k!, {k, Length /@ Split[p]}], {p, IntegerPartitions[n]}], {n, 10}]Compare with the result of BellB:
Table[BellB[k], {k, 1, 10}]Compute Bell numbers using generalized Bell polynomials:
Table[BellY[ConstantArray[1, {n, 2}]], {n, 10}]Table[BellB[n], {n, 10}]Compute Bell polynomials using generalized Bell polynomials:
Table[BellY[ConstantArray[{1, x}, n]], {n, 5}]Table[BellB[n, x], {n, 5}]FindSequenceFunction can recognize the BellB sequence:
Table[BellB[n], {n, 10}]FindSequenceFunction[%, n]Possible Issues (1)
See Also
StirlingS2 Subsets PartitionsQ BellY
Function Repository: SetPartitions StandardOrderIndex StandardOrderFromIndex
Tech Notes
Related Guides
Related Links
History
Text
Wolfram Research (2007), BellB, Wolfram Language function, https://reference.wolfram.com/language/ref/BellB.html.
CMS
Wolfram Language. 2007. "BellB." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/BellB.html.
APA
Wolfram Language. (2007). BellB. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/BellB.html
BibTeX
@misc{reference.wolfram_2026_bellb, author="Wolfram Research", title="{BellB}", year="2007", howpublished="\url{https://reference.wolfram.com/language/ref/BellB.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_bellb, organization={Wolfram Research}, title={BellB}, year={2007}, url={https://reference.wolfram.com/language/ref/BellB.html}, note=[Accessed: 12-June-2026]}