(Combinatorics, mostly:) Given a sequence {an}, one way of expressing the properties of the entire sequence is by defining its generating function

A(z) = a0 + z a1 + z2 a2 + ... + zn an + ...
(For you mathers out there, that's ∑n=0 znan).

A(z) can be defined for real z, or for complex z; it might not be defined for large |z|, and it might not be defined for z != 0... In the last case, however, getting meaningful results out of expressions for A(z) might be tricky. It's still possible when there is some other field or domain where the infinite sum is meaningful.

Now analysing the sequence {an} reduces to analysing A(z). For example, if {an} satisfies a recurrence relation

an = c1 an-1 + c2 an-2 + ... + ck an-k
with ci constant, then A(z) will be a rational function; the converse implication is also true.

A few generating functions are tabulated below. Plese see the WU on Bessel functions for an example of how generating functions may be used to immense benefit.

Bessel functions:sum(Jntn) = e(x/2)*(t-1/t)
Legendre Polynomials:sum(Pntn)=(1-2tx+t2)(-1/2)
Laguerre Polynomials:sum(Lntn)= (1-t)(-1)e-(xt/1-t)
Hermite polynomials:sum(Hntn/n!)=e-t^2 + 2tx

Note the extra n! in the relation for Hermite polynomials. It is put there by convention. Arfken or Abramowitz would provide a good introduction to Special Functions in general.

Clearly the idea of generating functions isn't limited to numbers.

Functions can also be used to generate sets of strings. This is what grammars do in formal language theory.

There are also graph grammars, grammars on commutative strings, and on other kinds of objects.

A related subject is inference rules in logic. Inference rules can often be seen as functions to generate sets of logical propositions from an initial set. Such an inference is a deduction (logical derivation, proof). One way to look at different systems of logic is to think of them as systems of generating functions of propositions. The study of their mathematical properties is often nontrivial and of great practical relevance - in particular, in the case of systems for automated reasoning, the study of computational aspects such as the efficiency with which derivations can be obtained.

Log in or register to write something here or to contact authors.