The previous post looked at a generating function for a specific polynomial sequence. This post will look at generating functions for polynomial sequences in general. (There’s an alternating term in the previous post that isn’t polynomial, but we’ll address that too.)

The starting point for this post is a simple observation:

If we let *xD* be the operator that differentiates a function then multiplies the result by *x*, we have

We can apply *xD* *m* times, each time multiplying *x*^{n} by a factor of *n*.

And more generally, for any polynomial *p*(*x*) we have

Now let *S* be a set of integers and form a generating function *F*(*x*) by summing *x*^{n} over *n* in *S*.

Then we have

In words, multiplying the *n*th term of a generating function by *p*(*n*) is the same as operating on the generating function by *p*(*xD*).

## Example

The previous post computed the generating function of

using Mathematica. Here we will compute the generating function again using the result derived below.

Before we computed

by summing over the positive integers. But *Z*_{n} is not quite a polynomial function of *n*. Aside from the alternating term it is a cubic polynomial in *n*. The alternating term is a polynomial in *n* if we restrict ourselves to even values of *n*, and it is another polynomial if we restrict ourselves to odd values of *n*.

Define

Then we have

for positive integer *n*, splitting our original generating function into three generating functions, each summed over a different set of integers.

Define

Then

If we expand the line above, we should get the same expression for *g*(*x*) as in the previous post.