Article 3G2FN Bell polynomials: partial, ordinary, and exponential

Bell polynomials: partial, ordinary, and exponential

by
John
from John D. Cook on (#3G2FN)

Bell polynomials come up naturally in a variety of contexts: combinatorics, analysis, statistics, etc. Unfortunately, the variations on Bell polynomials are confusingly named.

Analogy with differential equations

There are Bell polynomials of one variable and Bell polynomials of several variables. The latter are sometimes called "partial" Bell polynomials. In differential equations, "ordinary" means univariate (ODEs) and "partial" means multivariate (PDEs). So if "partial" Bell polynomials are the multivariate form, you might assume that "ordinary" Bell polynomials are the univariate form. Unfortunately that's not the case.

It seems that the "partial" in the context of Bell polynomials was taken from differential equations, but the term "ordinary" was not. Ordinary and partial are not opposites in the context of Bell polynomials. A Bell polynomial can be ordinary and partial!

Analogy with generating functions

"Ordinary" in this context is the opposite of "exponential," not the opposite of "partial." The analogy is with generating functions, not differential equations. The ordinary generating function of a sequence multiplies the nth term by xn and sums. The exponential generating function of a sequence multiplies the nth term by xn/n! and sums. For example, the ordinary generating function for the Fibonacci numbers is

fibonacci_ogf.svg

while the exponential generating function is

fibonacci_egf.svg

where

fibonacci_egf2.svg

The definitions of exponential and ordinary Bell polynomials are given below, but the difference between the two that I wish to point out is that the former divides the kth polynomial argument by k! while the latter does not. They also differ by a scaling factor. The exponential form of Bn,k has a factor of n! where the ordinary form has a factor of k!.

"Ordinary" as a technical term

Based on the colloquial meaning of "ordinary" you might assume that it is the default. And indeed that is the case with generating functions. Without further qualification, generating function means ordinary generating function. You'll primarily see explicit references to ordinary generating functions in a context where it's necessary to distinguish them from some other kind of generating function. Usually the word "ordinary" will be written in parentheses to emphasize that an otherwise implicit assumption is being made explicit. In short, "ordinary" and "customary" correspond in the context of generating functions.

But in the context of Bell polynomials, it seems that the exponential form is more customary. At least in some sources, an unqualified reference to Bell polynomials refers to the exponential variety. That's the case in SymPy where the function bell() implements exponential Bell polynomials and there is no function to compute ordinary Bell polynomials.

Definitions

Now for the actual definitions. We can make our definitions more concise if we first define multi-index notation. A multi-index

multiindex.svg

is a set of n non-negative integers. The norm of a multi-index is defined by

multiindex_norm.svg

and the factorial of a multi-index is defined by

multiindex_factorial.svg

If x = (x1, x2, ", xn) is an n-tuple of real numbers then x raised to the power of a multi-index I is defined by

multiindex_exponent.svg

The ordinary Bell polynomial Bn,k is

bell_ordinary_def.svg

where x is a (n - k +1)-tuple and I ranges over all multi-indices subject to two constraints: the norm of I is k and

bell_constraint2.svg

The exponential Bell polynomials can then be defined in terms of the ordinary bell polynomials by

bell_exponential_def3.svg

Related posts3q_hNgSIcj0
External Content
Source RSS or Atom Feed
Feed Location http://feeds.feedburner.com/TheEndeavour?format=xml
Feed Title John D. Cook
Feed Link https://www.johndcook.com/blog
Reply 0 comments