In mathematics, a generating function is a formal power series whose coefficients encode information about a sequence an that is indexed by the natural numbers.
There are various types of generating functions, including ordinary generating functions, exponential generating functions, Lambert series, Bell series, and Dirichlet series; definitions and examples are given below. Every sequence has a generating function of each type. The particular generating function that is most useful in a given context will depend upon the nature of the sequence and the details of the problem being addressed.
Generating functions are often expressed in closed form as functions of a formal argument x. Sometimes a generating function is evaluated at a specific value of x. However, it must be remembered that generating functions are formal power series, and they will not necessarily converge for all values of x.
Generating functions are not functions in the formal sense of a mapping from a domain to a codomain; the name merely stems from the historical study of the structures.
Definitions
- A generating function is a clothesline on which we hang up a sequence of numbers for display.
- — Herbert Wilf, Generatingfunctionology (1994)
Ordinary generating function
The ordinary generating function of a sequence an is

When the term generating function is used without qualification, it is usually taken to mean an ordinary generating function.
If an is the probability mass function of a discrete random variable, then its ordinary generating function is called a probability-generating function.
The ordinary generating function can be generalized to sequences with multiple indexes. For example, the ordinary generating function of a sequence am, n (where n and m are natural numbers) is

Exponential generating function
The exponential generating function of a sequence an is

Poisson generating function
The Poisson generating function of a sequence an is

Lambert series
The Lambert series of a sequence an is

Note that in a Lambert series the index n starts at 1, not at 0.
Bell series
The Bell series of an arithmetic function f(n) and a prime p is

Dirichlet series generating functions
Dirichlet series are often classified as generating functions, although they are not strictly formal power series. The Dirichlet series generating function of a sequence an is

The Dirichlet series generating function is especially useful when an is a multiplicative function, when it has an Euler product expression in terms of the function's Bell series

If an is a Dirichlet character then its Dirichlet series generating function is called a Dirichlet L-series.
Polynomial sequence generating functions
The idea of generating functions can be extended to sequences of other objects. Thus, for example, polynomial sequences of binomial type are generated by

where pn(x) is a sequence of polynomials and f(t) is a function of a certain form. Sheffer sequences are generated in a similar way. See the main article generalized Appell polynomials for more information.
Ordinary generating functions
Polynomials are a special case of ordinary generating functions, corresponding to finite sequences, or equivalently sequences that vanish after a certain point. These are important in that many finite sequences can usefully be interpreted as generating functions, such as the Poincaré polynomial, and others.
A key generating function is the constant sequence 1, 1, 1, 1, 1, 1, 1, 1, 1, ..., whose ordinary generating function is

The right hand side expression can be justified by multiplying the power series on the left by 1 − X, and checking that the result is the constant power series 1, in other words that all coefficients vanish, except the one of X0. Moreover there can be no other power series with this property. The right hand side therefore designates the inverse of 1 − X in the ring of power series.
Expressions for the ordinary generating of other sequences are easily derived for this one. For instance for the geometric series 1,a,a2,a3,... for any constant a one has

and in particular

One can also introduce regular "gaps" in the sequence by replacing X by some power of X, so for instance for the sequence 1, 0, 1, 0, 1, 0, 1, 0, .... one gets the generating function

Computing the square of the initial generating function, one easily sees that the coefficients form the sequence 1, 2, 3, 4, 5, ..., so one has

and the third power has as coefficients the triangular numbers 1, 3, 6, 10, 15, 21, ... whose term n is the binomial coefficient
, so that

Since

one can find the ordinary generating function for the sequence 0, 1, 4, 9, 16, ... of square numbers by linear combination of the preceding sequences;

Rational functions
The ordinary generating function of a sequence can be expressed as a rational function (the ratio of two polynomials) if and only if the sequence is a linear recursive sequences; this generalizes the examples above.
Multiplication is convolution
Main article:
Cauchy product
Multiplication of ordinary generating functions yields a discrete convolution (the Cauchy product) of the series.
Bivariate generating functions
One can define generating functions in several variables, for series with several indices. These are often called super generating functions, and for 2 variables are often called bivariate generating functions.
For instance, since (1 + x)n is the ordinary generating function for binomial coefficients for a fixed n, one may ask for a bivariate generating function that generates the binomial coefficients
for all k and n. To do this, consider (1 + x)n as itself a series (in n), and find the generating function in y that has these as coefficients. Since the generating function for an is just 1 / (1 − ay), the generating function for the binomial coefficients is:

and the coefficient on xkyn is the
binomial coefficient.
Examples
Generating functions for the sequence of square numbers an = n2 are:
Ordinary generating function

Exponential generating function

Bell series

Dirichlet series generating function

Multivariate generating function
Multivariate generating functions arise in practice when calculating the number of contingency tables of non-negative integers with specified row and column totals. Suppose the table has r rows and c columns; the row sums are
and the column sums are
. Then, according to I. J. Good [1], the number of such tables is the coefficient of
in

Applications
Generating functions are used to
- Find a closed formula for a sequence given in a recurrence relation. For example consider Fibonacci numbers.
- Find recurrence relations for sequences – the form of a generating function may suggest a recurrence formula.
- Find relationships between sequences – if the generating functions of two sequences have a similar form, then the sequences themselves are probably related.
- Explore the asymptotic behaviour of sequences.
- Prove identities involving sequences.
- Solve enumeration problems in combinatorics and encoding their solutions. Rook polynomials are an example of an application in combinatorics.
- Evaluate infinite sums.
Other generating functions
Examples of polynomial sequences generated by more complex generating functions include:
Similar concepts
Polynomial interpolation is finding a polynomial whose values (not coefficients) agree with a given series; the Hilbert polynomial is an abstract case of this is commutative algebra.
See also
References
- Donald E. Knuth, The Art of Computer Programming, Volume 1 Fundamental Algorithms (Third Edition) Addison-Wesley. ISBN 0-201-89683-4. Section 1.2.9: Generating Functions, pp.87–96.
- ^ Good, I. J. (1986). "On applications of symmetric Dirichlet distributions and their mixtures to contingency tables". The Annals of Statistics 4 (6): 1159–1189.
External links
- Generating Functions, Power Indices and Coin Change at cut-the-knot
- Generatingfunctionology PDF download page
- 1031 Generating Functions
- Ignacio Larrosa Cañestro, León-Sotelo, Marko Riedel, Georges Zeller, Suma de números equilibrados, newsgroup es.ciencia.matematicas
- Frederick Lecue; Riedel, Marko, et al., Permutation, Les-Mathematiques.net, in French, title somewhat misleading.
- "Generating Functions" by Ed Pegg, Jr., Wolfram Demonstrations Project, 2007.