Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
45 views

ch4 - Generating - Functions #3

The document discusses generating functions for sequences. Generating functions provide a way to represent sequences as power series. Several examples of sequences and their corresponding generating functions are provided, such as the sequence of binomial coefficients having the generating function of (1-x)^(-k-1). Formulas are derived for generating functions of sequences given by rows, columns, and diagonals of Pascal's triangle. The document demonstrates how to obtain generating functions for various sequences, including squares and cubes, by taking derivatives and multiplying power series. Computer algebra systems are used to verify some of the results.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views

ch4 - Generating - Functions #3

The document discusses generating functions for sequences. Generating functions provide a way to represent sequences as power series. Several examples of sequences and their corresponding generating functions are provided, such as the sequence of binomial coefficients having the generating function of (1-x)^(-k-1). Formulas are derived for generating functions of sequences given by rows, columns, and diagonals of Pascal's triangle. The document demonstrates how to obtain generating functions for various sequences, including squares and cubes, by taking derivatives and multiplying power series. Computer algebra systems are used to verify some of the results.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 41

CHAPTER 4: GENERATING FUNCTIONS

MIKE ZABROCKI - 2019 VERSION

1. Introduction
Consider the following sequences

         
0 1 2 3 4
, , , , ,... 1, 1, 1, 1, 1, 1, 1, . . .
0 0 0 0 0
         
0 1 2 3 4
, , , , ,... 0, 1, 2, 3, 4, 5, 6 . . .
1 1 1 1 1
         
0 1 2 3 4
, , , , ,... 0, 0, 1, 3, 6, 10, 15, . . .
2 2 2 2 2
         
0 1 2 3 4
, , , , ,... 0, 0, 0, 1, 4, 10, 20, . . .
3 3 3 3 3
         
0 1 2 3 4
, , , , ,... 0, 0, 0, 0, 1, 5, 15 . . .
4 4 4 4 4
We have kind of written the table of binomial coefficients but we have selected the columns
as our sequences to look at (we will also consider rows and diagonals too).

For any sequence of numbers a0 , a1 , a2 , a3 , . . . (if you have a finite sequence of numbers
then put 0’s at the end), we define the generating function of the sequence as the series
A(x) = a0 + a1 x + a2 x2 + a3 x3 + · · · .

Remark 1: The first mistake that a lot of people make about the generating function and
the sequence is that they are not the same thing. For every sequence we have a generating
function and for every generating function we can come up with a sequence. They are
not equal. We use the phrases ‘...the generating function for/of a sequence...’ and ‘...the
sequence whose generating function is...’ but please don’t mix the two things up.

Remark 2: A generating function neither generates, nor (at least in our case) is it a
function (although it looks like one). x is an indeterminate. x does not have a value. x
is a placeholder. Sometimes I will use other variables instead of x, but those will also be
1
2 MIKE ZABROCKI - 2019 VERSION

unknowns and we are working in a space where it makes sense to manipulate the variable
algebraically.
We all know the geometric series:
1
1 + x + x2 + x3 + x4 + · · · =
1−x
(remember (1−x)·(1+x+x2 +x3 +x4 +· · · ) = 1+x+x2 +x3 +x4 +· · ·−x−x2 −x3 −x4 − = 1
so divide by (1 − x)).
Notice that the second sequence has a generating function
x + 2x2 + 3x3 + 4x4 + 5x5 + 6x6 + · · ·
If you want a formula for it differentiate the first sequence to get 1 + 2x + 3x2 + 4x3 + 5x4 +
6x5 + · · · and then multiply by x. That is,
d 1 x
x + 2x2 + 3x3 + 4x4 + 5x5 + 6x6 + · · · = x = .
dx 1 − x (1 − x)2

2. Examples of sequences and their generating functions


We started to experiment a bit with generating functions and manipulate them and come
up with formulas. We wrote down a bunch of sequences that we were able to give formulas
for their generating functions. Recall that on Tuesday I had said look at the sequences
         
0 1 2 3 4
, , , , ,...
k k k k k
If you look for k = 1, 2, 3, . . . then you can conjecture that there is a relatively simple
formula for the generating function
xk
          X n
0 1 2 2 3 3 4 4
+ x+ x + x + x + ··· = xn = .
k k k k k k (1 − x)k+1
n≥0

1
Proof. Take the derivative of 1 + x + x2 + x3 + x4 + · · · = n
P
n≥0 x = 1−x . We have (by a
quick induction argument), that
dk 1 k!
k
=
dx 1 − x (1 − x)k+1
We also know that
dk 1 dk X n X
= x = n(n − 1)(n − 2) · · · (n − k + 1)xn−k
dxk 1 − x dxk
n≥0 n≥0

Therefore
1 X n(n − 1)(n − 2) · · · (n − k + 1)
= xn−k
(1 − x)k+1 k!
n≥0
CHAPTER 4: GENERATING FUNCTIONS 3
 
n
But the binomial coefficient is exactly the coefficient in this sum since
k
 
n n!
=
k k!(n − k)!
n(n − 1) · · · (n − k + 1)(n − k)(n − k − 1) · · · 2 · 1
=
k!(n − k)(n − k − 1) · · · 2 · 1
n(n − 1)(n − 2) · · · (n − k + 1)
= .
k!
Therefore
1 X  n
= xn−k
(1 − x)k+1 k
n≥0

and
xk X n
= xn . 
(1 − x)k+1 k
n≥0

This corresponds to looking at columns of Pascal’s triangle. We can also look at rows
         
1 1 1 1 1
, , , , , . . . = 1, 1, 0, 0, 0, 0, . . .
0 1 2 3 4
         
2 2 2 2 2
, , , , , . . . = 1, 2, 1, 0, 0, 0, . . .
0 1 2 3 4
         
3 3 3 3 3
, , , , , . . . = 1, 3, 3, 1, 0, 0, . . .
0 1 2 3 4
..
.
         
n n n n n
, , , , ,...
0 1 2 3 4

These have generating functions (1 + x), (1 + x)2 , (1 + x)3 and the general sequence has
generating function
X n
n
(1 + x) = xk .
k
k≥0

Proof. left to the reader. easiest to do this by induction on n. 

Then I suggested we look at sequences like 1, 2, 3, 4, 5, . . . and 12 , 22 , 32 , 42 , 52 , . . . and


13 , 23 , 33 , 43 , 55 , . . ..
I looked at
1 d 1 2 3 4 5
X
= = 1 + 2x + 3x + 4x + 5x + 6x + · · · = (n + 1)xn .
(1 − x)2 dx 1 − x
n≥0
4 MIKE ZABROCKI - 2019 VERSION

If you multiply by x and then take the derivative then you get the generating function for
the squares because
x 2 3 4 5 6
X
= x + 2x + 3x + 4x + 5x + 6x + · · · = (n + 1)xn+1
(1 − x)2
n≥0
and
1+x d x X
3
= 2
= 1 + 4x + 9x2 + 16x3 + 25x4 + 36x5 + · · · = (n + 1)2 xn .
(1 − x) dx (1 − x)
n≥0
At this point I was using the computer at a regular basis. I went to the website
www.sagemath.org and I had registered for an account or I went to the sage cell server.
I used that account to do some of the calculations. These can also be done on Wolfram
alpha or in Maple (which you should have access to through the university).
sage: taylor((1+x)/(1-x)^3,x,0,15)

256*x^15 + 225*x^14 + 196*x^13 + 169*x^12 + 144*x^11 + 121*x^10 + 100*x^9


+ 81*x^8 + 64*x^7 + 49*x^6 + 36*x^5 + 25*x^4 + 16*x^3 + 9*x^2 + 4*x + 1

sage: diff(x/(1-x)^2,x)

1/(x - 1)^2 - 2*x/(x - 1)^3

sage: factor(diff(x/(1-x)^2,x))

-(x + 1)/(x - 1)^3

1+x
The first command takes the taylor series of the expression (1−x)3 , the second command
x
takes the derivative of (1−x)2 and (since that wasn’t presented as a single fraction) the
x+1
third command factored the rational expression and showed it was equal to − (x−1) 3.

P Then I said, what if I wanted to come up with a formula for the generating function
3 xn ? I should just multiply the last result by x and then differentiate. We
n≥0 (n + 1)
find that  
 
d 1+x d  X X
x 3
= x (n + 1)2 xn  = (n + 1)3 xn
dx (1 − x) dx
n≥0 n≥0
and I can use the computer to determine that:
sage: factor(diff(x*(1+x)/(1-x)^3,x))

(x^2 + 4*x + 1)/(x - 1)^4

sage: taylor((1+4*x+x^2)/(1-x)^4,x,0,14)

3375*x^14 + 2744*x^13 + 2197*x^12 + 1728*x^11 + 1331*x^10 + 1000*x^9 + 729*x^8


+ 512*x^7 + 343*x^6 + 216*x^5 + 125*x^4 + 64*x^3 + 27*x^2 + 8*x + 1
CHAPTER 4: GENERATING FUNCTIONS 5

3. New generating functions from old


If we a sequence a0 , a1 , a2 , a3 , . . . and its generating function
A(x) = a0 + a1 x + a2 x2 + a3 x3 + · · ·
and we do an operation on the sequence, we can then ask what the effect is on the generating
function.
For instance, to insert a 0 in the sequence 0, a0 , a1 , a2 , a3 , . . . then the generating function
is a0 x+a1 x2 +a2 x3 +a3 x4 +· · · . Algebraically to obtain this expression, we would take A(x)
and multiply it by x and hence the generating function for the sequence 0, a0 , a1 , a2 , a3 , . . .
is xA(x). That is, multiplying by x on the generating function shifts the terms in the
sequence to the right by one.
Next say that you want to shift a sequence to the left by one and obtain the sequence
a1 , a2 , a3 , a4 , . . . by dropping the first term of the sequence. Dividing the generating func-
tion by x will have the right effect on the sequence if the first term is zero. If the first
term is not zero then dividing by x does not kill off the a0 term. Instead you should first
subtract the first term off and then divide by x so the generating function for the sequence
a1 , a2 , a3 , a4 , . . . is (A(x) − a0 )/x.
If I want to know what the generating function was for the sequence of just the even
terms a0 , a2 , a4 , a6 , . . .. If I set x → −x then I see that
A(x) = a0 + a1 x + a2 x2 + a3 x3 + a4 x4 + a5 x5 + a6 x6 + · · ·
and
A(−x) = a0 + a1 (−x) + a2 (−x)2 + a3 (−x)3 + a4 (−x)4 + a5 (−x)5 + a6 (−x)6 + · · ·
then notice if we add f (x) + f (−x) we have
A(x) + A(−x) = 2a0 + 2a2 x2 + 2a4 x4 + 2a6 x6 + · · ·
and then divide by 2
1
(A(x) + A(−x)) = a0 + a2 x2 + a4 x4 + a6 x6 + · · ·
2

and then replace x → x, so that
1 √ √
(f ( x) + f (− x)) = a0 + a2 x + a4 x2 + a6 x3 + · · ·
2
and this is the generating function for the sequence a0 , a2 , a4 , a6 , . . ..
We can then do an example on the computer to convince us that it works as it should.
sage: f = (1+4*x+x^2)/(1-x)^4

sage: g = (f.subs(x=sqrt(x))+f.subs(x=-sqrt(x)))/2; g

1/2*(x + 4*sqrt(x) + 1)/(sqrt(x) - 1)^4 + 1/2*(x - 4*sqrt(x) + 1)/(sqrt(x) + 1)^4

sage: factor(g)
6 MIKE ZABROCKI - 2019 VERSION

(x + 1)*(x^2 + 22*x + 1)/((sqrt(x) - 1)^4*(sqrt(x) + 1)^4)

This says that the generating function for the odd cubes is given by
X (1 + x)(1 + 22x + x2 )
(2n + 1)3 xn =
(1 − x)4
n≥0

(note that if I was patient enough to do all the algebra on the blackboard I could have
derived the same result by hand, but I don’t have time to do all that in class).
If I want to check my answer, I find that
sage: taylor((1+x)*(1+22*x+x^2)/(1-x)^4,x,0,10)

9261*x^10 + 6859*x^9 + 4913*x^8 + 3375*x^7 + 2197*x^6 + 1331*x^5 + 729*x^4 +


343*x^3 + 125*x^2 + 27*x + 1

You should try to do the same thing except pick out every third term. What you need
to do this is a little complex numbers. Everyone told me that this isn’t common knowledge
(as I assumed it should be). So here is a little summary:

i= −1
θi
e = cos(θ) + i sin(θ)
an rth root of unity is given by the formula ζr = e2πi/r because
(ζr )r = e2πi = cos(2π) + i sin(2π) = 1
1 + ζr + ζr2 + · · · + ζrr−1 = 0 .

What you want to do to generalize the formula for picking out every other term to every
third term is to think of −1 as a second root of unity since ζ2 = eπi = −1 and 1 + ζ2 = 0
so instead of f (x) + f (ζ2 x) you want something else.

For this we need to know why every other term of the sequence cancelled. The reason
is that 1r + (−1)r = 0 if r is odd, and 1r + (−1)r = 2 if r is even. The generalization of
this statement is in complex numbers.
eix = cos(x) + i sin(x)
If I set ζr = e2πi/r (this is a definition), then (ζr )r = e2πi = 1 and so
0 = (ζr )r − 1 = (ζr − 1)(ζrr−1 + ζrr−2 + · · · + ζr + 1)
now since ζr − 1 is not 0 and the product is 0, this means that ζrr−1 + ζrr−2 + · · · + ζr + 1 = 0.
CHAPTER 4: GENERATING FUNCTIONS 7
√ √ √ √
−1
Example: ζ3 = e2πi/3 = 2 + ζ32 = ( −1
i 23 , 3 2 1 3 3 1
2 + i 2 ) = 4 − 4) − i 2 = −2 − i
3
2 . Then
we see √ √
2 −1 3 1 3
ζ3 + ζ3 + 1 = ( +i ) + (− − i )+1=0 .
2 2 2 2

Example: ζ2 = −1, and ζ2 + 1 = 0.

Example: ζ4 = I, and ζ42 = −1, ζ43 = −I and so


1 + ζ4 + ζ42 + ζ43 = 1 + I − 1 − I = 0 .

This is what we use to generalize what we did for the r = 2 case to pick out every other
term. Step 1 is to add up A(x), A(ζ3 x) and A(ζ32 x). We see
A(x) = a0 + a1 x + a2 x2 + a3 x3 + a4 x4 + a5 x5 + a6 x6 + · · ·
A(ζ3 x) = a0 + a1 ζ3 x + a2 ζ32 x2 + a3 x3 + a4 ζ3 x4 + a5 ζ32 x5 + a6 x6 + · · ·
A(ζ32 x) = a0 + a1 ζ32 x + a2 ζ3 x2 + a3 x3 + a4 ζ32 x4 + a5 ζ3 x5 + a6 x6 + · · ·
and so their sum is equal to
A(x)+A(ζ3 x)+A(ζ32 x) = 3a0 +a1 (1+ζ3 +ζ32 )x+a2 (1+ζ32 +ζ3 )x2 +3a3 x3 +a4 (1+ζ3 +ζ32 )x4
+a5 (1 + ζ32 + ζ3 )x5 + 3a6 x6 + · · · = 3a0 + 3a3 x3 + 3a6 x6 + · · ·
This is the generating function for 3a0 , 0, 0, 3a3 , 0, 0, 3a6 , 0,√0, . . .. The next step is to divide
this expression by 3 and the final step is to replace x by 3 x. The final result is
1 √ √ √
(A( 3 x) + A(ζ3 3 x) + A(ζ32 3 x)) = a0 + a3 x + a6 x2 + · · ·
3

The example that I did in class worked OK on the computer, but I didn’t know how
to make the computer do the algebra for us. The suggestion was that we take every third
1
term of 1−x = 1 + x + x2 + x3 + x4 + · · · . If we do this we should get the same expression
back. We find that
sage: taylor(1/(1-x),x,0,10)
x^10 + x^9 + x^8 + x^7 + x^6 + x^5 + x^4 + x^3 + x^2 + x + 1
sage: zeta3 = exp(2*pi*I/3); zeta3
sage: taylor(1/(1-x) + 1/(1-zeta3*x) + 1/(1-zeta3^2*x),x,0,10)
3*x^9 + 3*x^6 + 3*x^3 + 3
sage: taylor(1/3*(1/(1-x) + 1/(1-zeta3*x) + 1/(1-zeta3^2*x)).subs(x=x^(1/3)),x,0,10)
x^10 + x^9 + x^8 + x^7 + x^6 + x^5 + x^4 + x^3 + x^2 + x + 1
So what this shows is that the series for this expression has the same series as 1/(1-x) but
I couldn’t figure out how to make the package do the simplification and show that
 
1 1 1 1 1
√ + √ + 2
√ =
3 1 − x 1 − ζ3 x 1 − ζ3 x
3 3 3
1−x
8 MIKE ZABROCKI - 2019 VERSION

instead you have to do the algebra yourself....


 
1 1 1 1
√ + √ + √ =
3 1 − 3 x 1 − ζ3 3 x 1 − ζ32 3 x
√ √ √ √ √ √ 
1 (1 − ζ3 3 x)(1 − ζ32 3 x) + (1 − 3 x)(1 − ζ32 3 x) + (1 − 3 x)(1 − ζ3 3 x)

√ √ √ =
3 (1 − 3 x)(1 − ζ3 3 x)(1 − ζ32 3 x)
√ √ √ √ √ √ !
1 (1 − ζ3 3 x − ζ32 3 x + x2/3 ) + (1 − 3 x − ζ32 3 x + ζ32 x2/3 ) + (1 − 3 x − ζ3 3 x + ζ3 x2/3 )
√ √ √ =
3 (1 − 3 x − ζ3 3 x + ζ3 x2/3 )(1 − ζ32 3 x)
 
1 3
√ √ √ =
3 (1 − 3 x − ζ3 3 x + ζ3 x2/3 − ζ32 3 x + ζ32 x2/3 + x2/3 − x)
 
1 3
=
3 (1 − x)
1
=
(1 − x)

I recommend that you experiment both by hand and with the computer to see that
complex numbers work the way that you think that they do. Since x2 − y 2 = (x + y)(x − y)
then it is also the case that x2 + y 2 = (x + iy)(x − iy). So it is possible to divide one
complex number of the form a + bi by c + di (where a, b, c, d are all real numbers) and you
will be able to put it in the form e + f i by multiplying by the appropriate thing to clear
the denominator of the complex numbers. So as an exercise, I suggest you try to show that
a + bi ac + bd bc − ad
= 2 2
+i 2 .
c + di c +d c + d2

Example 1. We list below sequences which are related to a0 , a1 , a2 , a3 , . . .. The variable


n refers to the term of the sequence (i.e. the nth term of the sequence starting at n = 0).
Exercise: for each of the sequences below determine an algebraic expression in terms of
A(x) which is the generating function for that sequence. We did some of them in the text
above. You should be able to get the remaining. The answers are at the end of the chapter.
(1) shift right - 0, a0 , a1 , a2 , a3 , a4 , a5 , . . .
(2) shift left - a1 , a2 , a3 , a4 , a5 , a6 , . . .
(3) add/subtract one - a0 ± 1, a1 ± 1, a2 ± 1, a3 ± 1, a4 ± 1, a5 ± 1, a6 ± 1, . . .
(4) multiply by 2 - 2a0 , 2a1 , 2a2 , 2a3 , 2a4 , 2a5 , 2a6 , . . .
(5) multiply by 2n - a0 , 2a1 , 4a2 , 8a3 , 16a4 , 32a5 , 64a6 , . . .
(6) multiply by n - 0, a1 , 2a2 , 3a3 , 4a4 , 5a5 , 6a6 , . . .
(7) insert 0s between the entries - a0 , 0, a1 , 0, a2 , 0, a3 , 0, . . .
(8) remove odd terms - a0 , 0, a2 , 0, a4 , 0, a6 , . . .
(9) remove even terms - 0, a1 , 0, a3 , 0, a5 , 0, . . .
(10) just the even terms - a0 , a2 , a4 , a6 , a8 , a10 , a12 , . . .
CHAPTER 4: GENERATING FUNCTIONS 9

(11) just the odd terms -a1 , a3, a5 , a7, a9 , a11


 , a13 , . . . 
(12) multiply by nk - k0 a0 , k1 a1 , k2 a2 , k3 a3 , k4 a4 , k5 a5 , k6 a6 , . . .
 

(13) partial sums - a0 , a0 + a1 , a0 + a1 + a2 , a0 + a1 + a2 + a3 , a0 + a1 + a2 + a3 + a4 , . . .

4. The generating function for the Fibonacci numbers


Define F0 = 1 and F1 = 1 and Fn+1 = Fn + Fn−1 for n ≥ 1. The first few terms of the
sequence are
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, . . .
By definition the generating function is given by
X
F (x) = Fn xn = F0 + F1 x + F2 x2 + F3 x3 + · · · .
n≥0

It follows then that,


X
F (x) = 1 + x + (Fn−1 + Fn−2 )xn
n≥2

= 1 + (x + F1 x2 + F2 x3 + F3 x4 + · · · ) + (F0 x2 + F1 x3 + F2 x4 + F3 x5 + · · · )
= 1 + xF (x) + x2 F (x)
By rearranging the terms of this formula we have
F (x) − xF (x) − x2 F (x) = (1 − x − x2 )F (x) = 1
so
1
F (x) = .
1 − x − x2
I quickly checked this on sage and found
sage: taylor(1/(1-x-x^2),x,0,10)
89*x^10 + 55*x^9 + 34*x^8 + 21*x^7 + 13*x^6 + 8*x^5 + 5*x^4 + 3*x^3
+ 2*x^2 + x + 1
We can also use generating function to derive combinatorial identites. Recall that last
time, I showed that the generating function for the Fibonacci numbers is 1/(1 − x − x2 ) =
F (x) = n≥0 Fn xn . Then we can rewrite this as
P

1 X
2 n
X
F (x) = = (x + x ) = (1 + x)n xn
1 − (x + x2 )
n≥0 n≥0

We also n n
 know
 that (1+x) is the generating function for the binomial coefficients (1+x) =
P n k
k≥0 k x therefore
X X n
F (x) = xn+k
k
n≥0 k≥0
10 MIKE ZABROCKI - 2019 VERSION

If I take the coefficient of xm in both sides of this equation I find that


X n
Fm = .
k
n+k=m
For example            
5 4 3 2 1 0
F5 = + + + + + .
0 1 2 3 4 5
           
2 1 0 5 4 3
I know that + + = 0 and = 1, = 4 and = 3, therefore
3 4 5 0 1 2
F5 = 1 + 4 + 3 = 8.
       
6 5 4 3
F6 = + + + = 1 + 5 + 6 + 1 = 13
0 1 2 3
and this agrees with our generating function
sage: taylor(1/(1-x-x^2),x,0,8)
34*x^8 + 21*x^7 + 13*x^6 + 8*x^5 + 5*x^4 + 3*x^3 + 2*x^2 + x + 1
We can also derive a second equation for the Fibonacci √ numbers. If√ you apply the
quadratic formula to 1 − x − x = 0 you obtain that φ = 2 and φ = 1−2 5 are the roots
2 1+ 5

of the equation. Check explicitly that φφ = −1 and φ + φ = 1, therefore


(1 − φx)(1 − φx) = 1 − φx − φx + φφx2 = 1 − x − x2
1
Now if I have a rational function of the form (1−φx)(1−φx) then there is this technique
that you probably learned in calculus that says that there exists A and B such that
1 A B
F (x) = = + .
(1 − φx)(1 − φx) (1 − φx) (1 − φx)
If we take the coefficient of xm in both sides of this equation we find that
m
Fm = Aφm + Bφ .
If you solve for A and B by saying that since A(1 − φx) + B(1 − φx) = 1, then let
φ
1
x = 1/φ to see that B = 1−φ/φ = φ−φ = − √φ5 and let x = 1/φ so then A = φ−φ
φ
= √φ5 . We
conclude
m+1 √ !m+1 √ !m+1
φm+1 φ 1 1+ 5 1 1− 5
Fm = √ − √ =√ −√ .
5 5 5 2 5 2
which (at least to me) is kind of hard to believe until you do this by hand or test it out on
the computer.
sage: expand( 1/sqrt(5)*(((1+sqrt(5))/2)^6-((1-sqrt(5))/2)^6))
8
sage: expand( 1/sqrt(5)*(((1+sqrt(5))/2)^7-((1-sqrt(5))/2)^7))
13
CHAPTER 4: GENERATING FUNCTIONS 11

We can also use the generating function to prove identities about the coefficients. Con-
sider the Fibonacci sequence and say that you notice a pattern by adding up the Fibonacci
numbers in the even positions.

F0 = 1 F0 +F2 = 1+2 = 3 F0 +F2 +F4 = 1+2+5 = 8 F0 +F2 +F4 +F6 = 1+2+5+13 = 21

and the sequence 1, 3, 8, 21 looks remarkably like the Fibonacci numbers in the odd posi-
tions, hence you make the conjecture:

F0 + F2 + · · · + F2n = F2n+1

The obvious way to prove this identity would be by using induction or telescoping sums
(and both of these are perfectly fine).
But there is now another proof technique we can use now that we have developed gener-
ating function tools. Prove this identity by writing down a generating function for the left
hand side of the equation and a generating function for the left hand side of the equation
and using algebra to show that they are equal. This technique is particularly useful because
algebra can now be done with a computer algebra system like Sage, Maple, Mathematica
(or online tools like Wolfram alpha or Google).
1
Let F (x) = 1−x−x . By Example 1, the g.f. for the even terms of the sequence is given
√ √2
by (F ( x) + F (− x))/2 = n≥0 F2n xn and (again) by Example 1 we then know that the
P
partial sums of this sequence is

√ √
1 F ( x) + F (− x) X
(1) = (F0 + F2 + · · · + F2n )xn .
1−x 2
n≥0

Again by Example 1 the generating function for the odd terms is

√ √
F ( x) − F (− x) X
(2) √ = F2n+1 xn .
2 x
n≥0

Do the algebra by hand or ask the computer to do it and you will see they are both equal
1
to 1−3x+x 2 . It is even easier just to have a computer algebra system just do the algebra
for you without even seeing the intermediate result.
Now that we have established that (1) and (2), the following computer calculation then
constitutes a proof that F0 + F2 + · · · + F2n = F2n+1 :
12 MIKE ZABROCKI - 2019 VERSION

5. Exercises
Exercises:
(1) Find formulas for the following generating functions (you don’t need to simplify
the expressions, but use the tools that we have developed in the last few days to
writeP down an an expression).
(a) F xn
Pn≥0 n3n 2k
(b) x
Pk≥0 2k 2n+1 n

(c) n≥0 x
P 3
n 2n+1
(d) x
Pn≥0 n3 
(e) F xn
Pn≥0 n2  n n
(f) 2 Fn+4 x 
Pn≥0 n+2 n−2 n
(g) 2 x
Pn≥0 22 n P n
P n
(h) F
n≥0 n x , n≥0 Fn Fn+1 x and n≥0 Fn Fn+2 x (I put these together be-
cause it is probably easiest to set up a system of three equations involving all
three of these generating functions and either solve the system of equations by
hand or get the computer to solve the system of equations).
(2) Prove the following identities by giving an expression for the generating function
of the left and hand side and the right hand side of the equations and showing that
they are equal.
2
(a) Fn+1 + Fn2 = F2n+1
2
(b) Fn+2 + Fn2 = 3Fn+1 2 − 2(−1)n
2 2 2
(c) Fn+3 + Fn = 2(Fn+1 + Fn+2 2 )
2
(d) Fn Fn+1 − Fn = F2n
(e) Fn Fn+1 + Fn Fn−1 = F2n
2
(f) Fn+1 2
− Fn−1 = F2n
CHAPTER 4: GENERATING FUNCTIONS 13

(3) Given that A(x) = n≥0 an xn and B(x) = n≥0 bn xn are the generating func-
P P
tions for the sequences a0 , a1 , a2 , a3 , . . . and b0 , b1 , b2 , b3 , . . . respectively, find an
expression for the generating function for the following sequences.
(a) a0 , 2a1 , 4a2 , 8a3 , 16a4 , . . .
(b) 0, a1 , 22 a2 , 32 a3 , 42 a4 , 52 a5 , . . .
(c) a0 , a0 , a1 , a1 , a2 , a2 , a3 , a3 , . . .
(d) a0 , b0 , a1 , b1 , a2 , b2 , . . .
(e) a0 , b1 , a2 , b3 , a4 , b5 , . . .
(f) a1 , a5 , a9 , a13 , a15 , a19 , . . .
(g) a0 + b0 , a0 − b0 , a1 + b1 , a1 − b1 , a2 + b2 , a2 − b2 , . . .
(h) a0 , 2a1 , a2 , 2a3 , a4 , 2a5 , a6 , 2a7 , . . .
(i) a1 , a0 , a3 , a2 , a5 , a4 , a7 , a6 , . . .
(4) Find a formula for the generating function
X
(1)(k) + (2)(k) x + (3)(k) x2 + (4)(k) x3 + (5)(k) x4 + · · · = (n + 1)(k) xn
n≥0
Pr
(5) Use the last result and the formula nr = k=1 S(r, k)(n)(k) to find a formula for
the generating function
X
(n + 1)r xn
n≥0
Use your formula to verify in particular that
X 1 X 1+x X 1 + 4x + x2
(n + 1)xn = , (n + 1)2 xn = , (n + 1)3 xn = ,
(1 − x)2 (1 − x)3 (1 − x)4
n≥0 n≥0 n≥0

(6) Given that L0 = 1, L1 = 3 and Ln+1 = Ln + Ln−1 show that L(x) = n≥0 Ln xn =
P

(1 + 2x)/(1 − x − x2 ). Using the formula for the product of generating functions,


1
what is the coefficient of xn in the generating function 1+2x L(x)?
(a) Conclude a formula relating the Fibonacci numbers and the Lucas numbers
1
from the equation F (x) = 1+2x L(x).
(b) Conclude a formula relating the Fibonacci numbers and the Lucas numbers
from the equation (1 + 2x)F (x) = L(x).
(7) Given D0 = 1, D1 = a and Dn+1 = aDn + bDn−1 where a, b are unknowns. The
sequence Dn will be a polynomial in a and b. Find the coefficient
 of ar bs in Dn .
P 2n + 1 n
(8) Give a formula for the generating function P (x) = n≥0 x , Q(x) =
2
 
n+1 n
x and R(x) = n≥0 n2 xn . Show that P (x) = 2Q(x) + R(x) and
P P
n≥0 2
this implies that the coefficient of xn in the LHS is equal to the coefficient of xn in
the right hand side and hence
   
2n + 1 n+1
=2 + n2 .
2 2
14 MIKE ZABROCKI - 2019 VERSION
 
P n k
(9) Let Bn (x) = k≥0 x . Find an expression for the generating function. Show
k
that Bn (x)Bm (x) = Bn+m (x). Take the coefficient of xr in both sides of this
equation and explain  what identity
 this shows about binomial coefficients.
P n+k−1 n
(10) Let Ck (x) = n≥0 x . Show that Ck (x)C` (x) = Ck+` (x). Take the
k−1
coefficient of xn in both sides of this equation and explain what identity this shows
about binomial coefficients.
(11) Recall that the Fibonacci numbers are defined by F0 = 1, F1 = 1 and Fn = Fn−1 +
Fn−2 for n ≥ 2. Similarly, the Lucas numbers are the sequence defined by L0 = 1,
L1 = 3Pand Ln = Ln−1 + Ln−2 for n ≥ 2. The Lucas generating function is
1+2q
L(q) = n≥0 Ln q n = 1−q−q 2.

(a) Derive a formula for Lodd (q) = n≥0 L2n+1 q n and Leven (q) = n≥0 L2n q n .
P P

(b) Derive a formula for Fodd (q) = n≥0 F2n+1 q n and Feven (q) = n≥0 F2n q n .
P P

(c) Show that 3Fodd (q) = 1−12 q Lodd (q). Use this expression to derive an equation
3
for 3F2n+1 expressed in terms Lucas numbers with odd indices.

6. The addition and multiplication principle of generating functions


Consider what happens when you multiply two generating functions
f (x) = a0 + a1 x + a2 x2 + a3 x3 + a4 x4 + · · ·
and
g(x) = b0 + b1 x + b2 x2 + b3 x3 + b4 x4 + · · ·
then if you expand it term by term you see
f (x)g(x) = a0 b0 + (a1 b0 + a0 b1 )x + (a2 b0 + a1 b1 + a0 b2 )x2 + · · ·
Observe that in the expansion that the coefficient of xn (for n = 0, 1, 2 only because I didn’t
go further) that the subscripts of ai bj add up to the exponent of x. If we expand all terms
of thePseries then we reason that this always happens and we have that the coefficient of
xn is i+j=n ai bj . That is,
 
X X
f (x)g(x) =  ai bj  xn .
n≥0 i+j=n

I declared that if arP


and bs have a combinatorial meaning, then ar bs has a combinatorial
meaning and so does r+s=n ar bs . I formulated this as a mathematical principle.

Principle 2. (The Multiplication Principle of Generating Functions) Assume that


ar is equal to the number of widgets of ‘size’ r and bs is equal to the number of doodles
of ‘size’ s, then we say that f (x) is the generating function for the number of widgets of
CHAPTER 4: GENERATING FUNCTIONS 15

‘size’ n and g(x) is the generating function for the number of doodles of ‘size’ n and
 
X X
(3) f (x)g(x) =  ai bj  xn
n≥0 i+j=n

is the generating function for the pairs of elements (x, y) where x is a widget of ‘size’ i and
y is a doodle of ‘size’ j with i + j = n.
So what I have done is I have applied the addition principle and the multiplication
principle to count such pairs (x, y) where x is a widget and y is a doodle where I break
the set of pairs of ‘size’ n into those where x is of size i and y is of size n − i. In order
to make the statement of the principle above I had to apply the addition principle so that
the widget was of size i where 0 ≤ i ≤ n.
Remark 3. I intentionally put the word ‘size’ in quotes because I haven’t been super
precise about what I mean. This really means that if I group the objects that I am calling
widgets into groups by a grading (something that happens often in combinatorics) then
the word ‘size’ here represents an association with the grading. The word ‘size’ may not be
accurate. Consider the example below when I am talking about change for n cents, then
the ‘size’ in that case means the number of cents. I am using ‘size’ in an abstract way to
mean whatever term you are grading by.
Remark 4. This notation of expressing f (x) as the generating function for the number
of widgets of ‘size’ n and g(x) the generating function for the number of doodles of ‘size’
n is my own. You won’t see it in the textbook and if you google the words ‘widgets’ and
‘doodles’ you are likely to find web pages written by me. I just find this a convenient way to
think about combinatorics of generating functions in the case when the generating functions
are for sequences of non-negative integers and there is a combinatorial interpretation for
these integers. If f (x) is the g.f. for widgets and g(x) is the g.f. for doodles then f (x)g(x) is
this generating function for pairs consisting of a widget and a doodle (i.e. a widget-doodle).
Let me give you an example of something we can apply this principle to. Consider the
number of non-negative solutions to the equation x1 + x2 = n for n ≥ 0. If I write the
generating function for the number of such solutions I can compute it in two different ways
and get the same answer.
The first way is I will just look and notice that the non-negative solutions to the equation
x1 + x2 = n are (x1 , x2 ) ∈ {(n, 0), (n − 1, 1), (n − 2, 2), . . . , (0, n)}. Therefore the number
of solutions to x1 + x2 = n is equal to n + 1 and the generating function n≥0 (n + 1)xn =
P
1
(1−x)2
.
Now let me try to compute the same thing using the multiplication principle of generating
functions (MPofGFs). The a solution to x1 + x2 = n is isomorphic to a solution to a pair
(x1 , x2 ) whose sum is n. By MPofGFs we have that
 2
X X
(#pairs (x1 , x2 ) s.t. x1 + x2 = n)xn =  (#solutions to the equation x1 = n)xn 
n≥0 n≥0
16 MIKE ZABROCKI - 2019 VERSION

But the number of solutions to the equation x1 = n is equal to 1 for all n ≥ 0 so


X 1
(#solutions to the equation x1 = n)xn =
1−x
n≥0

and hence
X 1
(#pairs (x1 , x2 ) s.t. x1 + x2 = n)xn = .
(1 − x)2
n≥0
I know it seems a kind of trivial example, but we have shown that the number of solutions
to x1 + x2 = n has generating function equal to 1/(1 − x)2 in two different ways. Lets try
to expand this.
The generating function for the number of non-negative solutions to
x1 + x2 + x3 + x4 = n
is equal to the number of tuples (x1 , x2 , x3 , x4 ) where x1 + x2 + x3 + x4 = n which is equal
to the number of pairs (X, Y ) where X is a pair (x1 , x2 ) with x1 + x2 = i and Y is a pair
(x3 , x4 ) with x3 + x4 = n − i. By the MPofGFs we know that
X
(#pairs (X, Y ) s.t. X is a solution to x1 + x2 = i and Y is a solution to x3 + x4 = n − i)xn
n≥0
 2
 2
X
n 1 1
= (pairs (x1 , x2 ) s.t. x1 + x2 = n)x = = .
(1 − x)2 (1 − x)4
n≥0

In general, we can apply the MPofGFs multiple times to show that


X 1
#(number of solutions to x1 + x2 + · · · + xk = n)xn = .
(1 − x)k
n≥0

The thing is that this is something that we have already discussed in this class
1 X n + k − 1
= xn
(1 − x)k k−1
n≥0
 
n+k−1
so the number of solutions to x1 + x2 + · · · + xk = n is equal to . We had
k−1
discussed this before that the number of solutions is equal to the number of sequences of
n dots • and k − 1 bars |.

Here is an example of a problem that we can apply these ideas to: “How many ways are
there of making change for 78 using pennies, nickels, dimes, and quarters.” The answer is
equivalent to the number of tuples (p, n, d, q) such that p + 5n + 10d + 25q = n. If we apply
MPofGFs, then this is the product of the generating functions for solutions to p = N ,
the solutions to 5n = N , the solutions to 10d = N , the solutions to 25q = N and these
1 1 1 1
sequences have respective generating functions 1−x , 1−x 5 , 1−x10 and 1−x25 .
CHAPTER 4: GENERATING FUNCTIONS 17

Therefore the generating function for the number of ways of making change for N cents
with pennies, nickels, dimes and quarters is
1
C(x) = .
(1 − x)(1 − x )(1 − x10 )(1 − x25 )
5

If in particular I wanted the number of ways of making change for 78 cents I would go
to the computer and ask:
sage: taylor(1/((1-x)*(1-x^5)*(1-x^10)*(1-x^25)),x,0,78).coefficient(x^78)
121
sage: taylor(1/((1-x)*(1-x^5)*(1-x^10)*(1-x^25)),x,0,10)
4*x^10 + 2*x^9 + 2*x^8 + 2*x^7 + 2*x^6 + 2*x^5 + x^4 + x^3 + x^2 + x + 1
I also calculated here the ways of making change for N cents for 0 ≤ N ≤ 10 and I notice
that the number ways of making change for 10 cents is 4 = #{10 pennies; 1 nickel, 5
pennies; 2 nickels; one dime } and this agrees with the answer that the generating function
returns.

I want to demonstrate that you can throw in some pretty crazy conditions on your
combinatorial problem and calculating the number of such solutions is still a matter of
breaking up the problem into pieces where you can either add or multiply generating
functions. As long as your combinatorial condition has a nice expression for the generating
function, then applying this tool works really well.
So, for instance say that in addition that you wanted to make change for N cents where
you also have an American quarter and two American nickels but as many Canadian pennies
(if they would still exist, Canada stopped circulating pennies a while back), nickels, dimes
and quarters as you want. You can break the combinatorial problem into the number of
tuples (X, Y, Z) where X is some way of taking change for I cents with Canadian coins,
Y is some way of taking change for J cents using the American quarter or not, Z is some
way of making change for K cents using the two American nickels. We want to know how
may ways there are of making change for N cents, so we will take the coefficient of xN in
the expression for the product of generating functions.
We already know that the generating function for the first part of the tuple is C(x) (given
above). With the American quarter we can make change either for 0 cents or 25 cents and
only in one way each so the generating function is 1 + x25 . With the two American nickels
we can make change for 0, 5 or 10 cents only and there is exactly one way of doing that
(the nickels are indistinguishable), then the generating function is equal to 1 + x5 + x10 .
Therefore the generating function for N cents where you also have an American quarter
and two American nickels but as many Canadian pennies, nickels, dimes and quarters as
you want is equal to
(1 + x25 )(1 + x5 + x10 )
C(x)(1 + x25 )(1 + x5 + x10 ) = .
(1 − x)(1 − x5 )(1 − x10 )(1 − x25 )
We can compute the number of these by asking the computer:
sage: taylor((1+x^5+x^10)*(1+x^25)/((1-x)*(1-x^5)*(1-x^10)*(1-x^25)),
18 MIKE ZABROCKI - 2019 VERSION

x,0,78).coefficient(x^78)
430

7. More exercises

On the following two questions find a generating function representing the sequence for a
all n. Take the coefficient of xn for the n specified in the problem

(1) How many ways are there making change for n = $13.55 with pennies, nickels,
dimes and quarters such that:
(a) no restriction
(b) there are an even number of nickels and no pennies
(c) there are at most 10 nickles and 10 dimes
(d) there are at most 20 nickles and dimes (together)
(e) the total number of nickels and dimes is even
(f) the total number of pennies, dimes and quarters is even
(2) How many ways are there of placing n = 50 balls in 10 distinguished boxes such
that:
(a) there is no restriction ?
(b) there are at most 17 balls in the first box ?
(c) the first 4 boxes have at most 10 of the balls ?
(d) the first 4 boxes have at least half of the balls ?
(3) Find the generating function for the ways of distributing n dollars in loonies and
twonies to 5 people satisfying the following conditions:
(a) no restriction
(b) the first two people have an even number of twonies between them
(c) the first two people have at most 6 twonies together
(d) the first two people have together at most 6 twonies together and an even
number
(e) the first two people have together either at most 6 twonies together or an even
number between them
Check your answer on the computer to verify your answer that if there are 20
dollars all together to distribute to 5 people then for condition (a) there are
700,128 ways; (b) there are 383,528 ways; (c) there are 694,688 ways; (d) there
are 382,428 ways; for condition (e) there are 695,788 ways.

8. Partitions
I would also like to apply our generating function techniques to objects called partitions
because they are very much the type of combinatorial object where equation (3) applies.
Recall that a partition of n is a sum λ1 + λ2 + · · · + λr = n. The order of the sum doesn’t
matter so to avoid confusion we assume that λ1 ≥ λ2 ≥ · · · ≥ λr . The λi are called the
parts of the partition. r here is the number of parts of the partition or the length of the
CHAPTER 4: GENERATING FUNCTIONS 19

partition. The sizes of the parts are the values λi . The size of the partition is the sum of
the sizes of all the parts (in this case n). Parts are called distinct if they are not equal to
each other. The number of parts of a given size refers to the number of times that a value
appears as a part.
A partition is represented by a diagram where I put rows of boxes and in the ith row
from the the bottom I put λi boxes and these rows of boxes are left justified. For instance
the partition (5, 3, 3, 2, 1, 1, 1) is represented as

The picture is a convenient way of picturing what a partition is as a combinatorial object.


Here are some examples:

Partitions of 3

, (1, 1, 1) , (2, 1) , (3)

Partitions of 4

, (1, 1, 1, 1) , (2, 1, 1) , (2, 2) (3, 1) , (4)

Lets first consider the generating function for partitions using parts of size k only. De-
fine P=k (x) = n≥0 (number of partitions of n with parts of size equal to k)xn . The only
P

partitions of this type are the empty partition (), (k), (k, k), (k, k, k), . . .. There is exactly
one partition of n with parts of size k iff k divides n. Therefore the generating function is
simply
1
P=k (x) = 1 + xk + x2k + x3k + · · · = .
1 − xk
We also talked about generating functions for partitions. I had given some of the def-
initions of partitions last time and I restated them. A partition λ = (λ1 , λ2 , . . . , λ` ) of n
is a sequence of positive integers whose sum is n with λ1 ≥ λ2 ≥ · · · ≥ λ` . The size of a
partition is the sum of the entries λ1 + λ2 + · · · + λ` = n. The length of the partition is `,
the number of entries in the sequence.
20 MIKE ZABROCKI - 2019 VERSION

It is difficult to give the generating function for the number partitions of n in this form
because we have this condition that λ1 ≥ λ2 ≥ · · · ≥ λ` , while we know how to give the
generating function for the number of non negative integer solutions to x1 +x2 +· · ·+xr = n
(with potentially other conditions), but there is a way of transforming the partitions into
solutions to a similar system of equations.
Let mi (λ) = the number of parts of λ of size i (the number of λd = i. Then the size of
the partition λ is equal to n = λ1 + λ2 + · · · + λ` = 1m1 (λ) + 2m2 (λ) + 3m3 (λ) + · · · .
For example say that I wanted to compute the size of (5, 2, 1, 1, 1). It is 10 = 5+2+1+1+
1, but since m1 (5, 2, 1, 1, 1) = 3, m2 (5, 2, 1, 1, 1) = 1, m3 (5, 2, 1, 1, 1) = 0, m4 (5, 2, 1, 1, 1) =
0, m5 (5, 2, 1, 1, 1) = 1 and the rest of the mi (5, 2, 1, 1, 1) = 0 for i > 5 so the size of
the partition is 1m1 (5, 2, 1, 1, 1) + 2m2 (5, 2, 1, 1, 1) + 3m3 (5, 2, 1, 1, 1) + 4m4 (5, 2, 1, 1, 1) +
5m5 (5, 2, 1, 1, 1) = 1 · 3 + 2 · 1 + 3 · 0 + 4 · 0 + 5 · 1 = 3 + 2 + 5 = 10.
If we look at all partitions this way we can say that all partitions are the number of
solutions to the equations
(4) m1 + 2m2 + 3m3 + · · · = n
with mi ≥ 0. Now we have phrased this question in terms of non-negative integer solutions
equations and we can say that the generating function for the number of partitions of n is
equal to the generating function for the number of solutions to equation (4). The generating
function for the number of non-negative integer solutions to equation (4) is equal to the
product of the generating functions for the number of non-negative integer solutions to
imi = n over all possible i ≥ 1. We know that the generating function for the number of
1
non-negative solutions to the equation imi = n is equal to 1−x i , therefore the generating
function for the number of partitions of n is equal to
Y 1
(5) .
1 − xi
i≥1

There is something a little odd about this formula because I am taking an infinite
product. But because I can Qncalculate the coefficient of xn in this generating function by
1
only taking the product of i=1 1−xi (because the rest of the terms of the form 1−x1n+r for
r > 0 don’t affect the exponent of xn ), then I consider this a ‘good’ formula even though
it seems to involve an infinite product. Since the calculation of any finite piece is finite
and we can work with it (although carefully to ensure that any finite term of the series can
always be computed in a finite number of steps).
Notice that if I want to compute the first 11 terms of series I just need to multiply the
first 10 products together and so I can use sage to expand the series and sage also has
functions which allow me to count the number of partitions of n. You should note in the
code below the command range(a,b) are the integers i such that a ≤ i < b and range(b)
are the integers 0 ≤ i < b.
sage: taylor(prod(1/(1-x^i) for i in range(1,11)),x,0,10)
42*x^10 + 30*x^9 + 22*x^8 + 15*x^7 + 11*x^6 + 7*x^5 + 5*x^4 + 3*x^3 + 2*x^2 + x + 1

sage: [Partitions(n).cardinality() for n in range(0,11)]


CHAPTER 4: GENERATING FUNCTIONS 21

[1, 1, 2, 3, 5, 7, 11, 15, 22, 30, 42]


We then considered odd partitions, that is, partitions where all entries in the parts are
odd. The number of odd partitions of n is equal to the number of non-negative integer
solutions to the equation:
1m1 + 3m3 + 5m5 + · · · = n.
Leaving out the argument this time (because it seems we have done it so many times), the
generating function for the number of odd partitions of n is equal to
Y 1
1 − x2i+1
i≥0

Again I can use sage to compute both the taylor series for the first 10 or so terms and use
it to count the number of odd partitions of n. In the following snippit of code, I compute
the Taylor series for the generating function and I also compute the partitions of n and
then I restrict (filter) them so that I look at the ones where all entries are odd.
sage: taylor(prod(1/(1-x^(2*i+1)) for i in range(0,5)),x,0,10)
10*x^10 + 8*x^9 + 6*x^8 + 5*x^7 + 4*x^6 + 3*x^5 + 2*x^4 + 2*x^3 + x^2 + x + 1

sage: [Partitions(n).filter(lambda x: all(mod(v,2)==1 for v in x)).cardinality()


...: for n in range(0,11)]
[1, 1, 1, 2, 2, 3, 4, 5, 6, 8, 10]
Next we looked at strict partitions or partitions with distinct parts. A partition is called
strict if there is at most one part of any given size (or otherwise stated, no parts are
repeated). If we phrase this in terms of solutions to equations we would consider equations
of the form
m1 + 2m2 + 3m3 + · · · = n
with 0 ≤ mi ≤ 1. The restriction that the parts are distinct (or the partition is strict)
imposes the condition that mi is either 0 or 1 since mi represents the number of parts of
size i. Again, without further explation the generating function for the number of solutions
to these equations is
Y
(1 + xi )
i≥1
Again I can use sage to calculate both the series and the number of such partitions. This
time I looked in the documentation in order to find the number of partitions of n with dis-
tinct parts and it said the command is: Partitions(n, max slope=-1).cardinality().
sage: taylor(prod(1+x^i for i in range(1,11)),x,0,10)
10*x^10 + 8*x^9 + 6*x^8 + 5*x^7 + 4*x^6 + 3*x^5 + 2*x^4 + 2*x^3 + x^2 + x + 1

sage: [Partitions(n, max_slope=-1).cardinality() for n in range(11)]


[1, 1, 1, 2, 2, 3, 4, 5, 6, 8, 10]
Hmmm, I wonder if there is a connection between the number of strict partitions and
the number of odd partitions?
22 MIKE ZABROCKI - 2019 VERSION

8.1. A matching exercise generating functions and sets of partitions. Match the
description of the set of partitions with its generating function. Recall that a partition of n
is a sum λ1 + λ2 + · · · + λr = n. The order of the sum doesn’t matter so to avoid confusion
we assume that λ1 ≥ λ2 ≥ · · · ≥ λr . The λi are called the parts of the partition. r here is
the number of parts of the partition or the length of the partition. The sizes of the parts
are the values λi . The size of the partition is the sum of the sizes of all the parts (in this
case n). Parts are called distinct if they are not equal to each other. The number of parts
of a given size refers to the number of times that a value appears as a part.
(1) the number of partitions of n
(2) the number of partitions of n with distinct parts
(3) the number of partitions of n with odd parts
(4) the number of partitions of n with distinct odd parts
(5) the number of partitions of n with even parts
(6) the number of partitions of n into parts congruent to 1 or 4 modulo 5
(7) the number of partitions of n with at most 4 parts of any given size
(8) the number of partitions of n into exactly k parts
(9) the number of partitions of n with parts of size k only
(10) the number of partitions of n with parts of size less than or equal to k

Y 1 Y 1 − x5i
(a) (f)
1 − xi 1 − xi
i≥1 i≥1
Y 1
(b) (1 + x2i−1 ) (g)
1 − xk
i≥1
Y 1 Y 1
(c) (h)
(1 − x5i+1 )(1 − x5i+4 ) 1 − x2i−1
i≥0 i≥1
k
Y 1 Y 1
(d) (i)
1 − xi 1 − x2i−1
i=1 i≥1
k
k
Y 1 Y
(e) x (j) (1 + xi )
1 − xi
i=1 i≥1

Make sure that you understand the exercises above of matching the descriptions of the
partitions to the generating functions for the partitions. In particular I am using this
exercise to introduce some vocabulary about partitions (e.g. distinct parts, odd parts,
sizes of parts, etc.), however I want to move beyond “recognizing” when one generating
function expression is a generating function for the number of partitions of a certain type
to “deriving” the generating function expression for a set of partitions. Partitions because
of the way that partitions are made up, they are sets of objects that are well suited for
expressing the generating functions for the number of objects with algebraic expressions.
This is not possible with most sets of combinatorial objects.
CHAPTER 4: GENERATING FUNCTIONS 23

The study of partitions as combinatorial objects is often considered as part of the domain
number theory since a partition n is a way of writing n as a sum of integers.
Consider the generating functions for the partitions of n with at most 4 parts of any
given size. Here are two ways of thinking about this expression.

Method 1: notice that if I let mi be the number of parts of size i then every partition
with even parts and at most 4 parts of any given size is a solution to the integer equation
2m2 + 4m4 + 6m6 + · · · = n
where 0 ≤ mi ≤ 4. The generating function for this set of solutions is the product of
the generating functions for the number of solutions to 2rm2r = n with 0 ≤ m2r ≤ 4 for
r ≥ 1. We know that the generating function for the number of solutions to 2rm2r = n
10r
with 0 ≤ m2r ≤ 4 is 1 + x2r + x4r + x6r + x8r = 1−x
1−x2r
. Hence the generating function for
the number of partitions with even parts and at most 4 parts of any given size is equal to
Q 1−x10r
r≥1 1−x2r .

Method 2: I can break down this set of partitions into component pieces as a picture.
Imagine that a partition partitions with even parts and at most 4 parts of any given size
consists of at most 4 parts of size 2, at most 4 parts of size 4, at most 4 parts of size 6, etc.
In fact, a partition can be decomposed into a tuple consisting of parts of size 2r for r ≥ 1
and there can be 0,1,2,3,or 4 parts of size 2r.
For example the partition (12, 8, 8, 4, 2, 2, 2, 2) can be decomposed into a tuple consisting
of the parts ((2, 2, 2, 2), (4), (), (8, 8), (), (12), . . .), or graphically

( , , ·, , ·, , . . .) .
Again, I know that the generating function for the parts of size 2r is 1 + x + x4r + x6r +
2r
10r
x8r = 1−x
1−x2r
. Whenever we have a set of tuples like this we can apply the multiplication
principle of generating functions and hence the generating function for the number of
10r
partitions of n with even parts and at most 4 parts of any given size is equal to r≥1 1−x
Q
1−x2r
.

Using the same reasoning as in the above example and that we used in the last class,
the generating function for the number of partitions of n with parts of size equal to k is
24 MIKE ZABROCKI - 2019 VERSION

1
P=k (x) = 1−xk
.The generating function for the number of partitions of n with parts of
size ≤ k is P≤k (x) = ki=1 1−x
1
Q
i.

Q We also
1
said that the generating function for the partitions of n with no restriction is
i≥1 1−q i (this works by taking the limit of P≤k (x) as k → ∞ and ensuring that for every
n
coefficient of x that we might want to calculate is the same for k > n).

I also want to consider the partitions of length precisely equal to k, or alternatively if I


take the transpose of these diagrams, this is the set of partitions whose first part is exactly
equal to k. Every partition whose first part is exactly equal to k is isomorphic to a pair
(X, Y ) where X is some number ≥ 1 of parts of size equal to k and Y is a partition whose
parts of size ≤ k − 1. The generating function for the partitions consisting of at least one
xk
part of size of size k is equal to xk + x2k + x3k + · · · = 1−x k . Therefore the generating
function for the number of partitions whose first part is exactly equal to k is equal to
xk
(x) = xk ki=1 1−x
1
Q
P
1−xk ≤k−1 i.

A Durfee square is the largest square that can fit in the diagram for a partition. For
example, if my partition is (6, 4, 4, 3, 3, 3, 2, 1, 1, 1) then the diagram of the partition is

×××
×××
×××

and I can’t put a larger square than 3 × 3 in that diagram. Now you can see from the
example that I have drawn here that sitting on top of that Durfee square is a partition
whose largest part is at most 3, and sitting off to the right of the Durfee square is a partition
whose length is at most 3.

In general we can say that every partition that contains a k × k Durfee square is iso-
morphic to ( a k × k Durfee square, a partition whose largest part is at most k, a partition
whose length is at most k). By transposing a partition whose length is at most k, we have
a partition whose largest part is at most k, therefore

g.f. for the number of partitions of n whose largest part is at most k =

g.f. for the number of partitions of n whose length is at most k = P≤k (x)
CHAPTER 4: GENERATING FUNCTIONS 25

By the MPofGFs, the generating function for partitions with a Durfee square equal to k is
equal to
k
k2 k2
Y 1
x P≤k (x) = x .
(1 − xi )2
i=1

Now if I also remark that every partition is either empty, or contains a Durfee square
of size k for some k ≥ 1, then I see that the generating function for all partitions (by the
addition principle of generating functions) is equal to

k
X
k2
Y 1
=1+ x
(1 − xi )2
k≥1 i=1

But we already knew that this was equal to an infinite product so we have shown the
algebraic relation
k
Y 1 X 2Y 1
i
= 1 + xk .
1−x (1 − xi )2
i≥1 k≥1 i=1

In case this is hard to comprehend, I will compute it on the computer and show you
that the series are the same (at least for the first few terms.
sage: prod(1/(1-x^i) for i in range(1,10))
-1/((x - 1)*(x^2 - 1)*(x^3 - 1)*(x^4 - 1)*(x^5 - 1)*(x^6 - 1)
*(x^7 - 1)*(x^8 - 1)*(x^9 - 1))

sage: taylor(prod(1/(1-x^i) for i in range(1,10)),x,0,10)


41*x^10 + 30*x^9 + 22*x^8 + 15*x^7 + 11*x^6 + 7*x^5 + 5*x^4 + 3*x^3 + 2*x^2 + x + 1

sage: taylor(1+x/(1-x)^2+x^4/((1-x)*(1-x^2))^2+x^9/((1-x)*(1-x^2)*(1-x^3))^2,x,0,10)
42*x^10 + 30*x^9 + 22*x^8 + 15*x^7 + 11*x^6 + 7*x^5 + 5*x^4 + 3*x^3 + 2*x^2 + x + 1

Notice that these two series differ in exactly the coefficient of x10 . This is because my
1
first series is only the product of the terms 1−x i for 1 ≤ i < 10 and so these two series will
th
differ after the 10 term.

I can also remark that every partition is empty or it has length equal to k for some
k ≥ 1. This implies that the generating function for the number of partitions of n is equal
to (by my argument on p.2 of these notes,

k
X
k
Y 1
1+ x
1 − xi
k≥1 i=1
26 MIKE ZABROCKI - 2019 VERSION

This is a very powerful tool now that we have developed it properly, because we have shown
that
k k
Y 1 X 2Y 1 X Y 1
i
=1+ xk i 2
=1+ xk
1−x (1 − x ) 1 − xi
i≥1 k≥1 i=1 k≥1 i=1

in other words, that an infinite product is equal to two different infinite sums just by arguing
with pictures. Lets verify that this last sum is the same by calculating the example with
the computer.
sage: f = 1+sum(x^i/prod(1-x^j for j in range(1,i+1)) for i in range(1,10))

sage: f
-x^9/((x - 1)*(x^2 - 1)*(x^3 - 1)*(x^4 - 1)*(x^5 - 1)*(x^6 - 1)*(x^7 -
1)*(x^8 - 1)*(x^9 - 1)) + x^8/((x - 1)*(x^2 - 1)*(x^3 - 1)*(x^4 - 1)*(x^5 -
1)*(x^6 - 1)*(x^7 - 1)*(x^8 - 1)) - x^7/((x - 1)*(x^2 - 1)*(x^3 - 1)*(x^4 -
1)*(x^5 - 1)*(x^6 - 1)*(x^7 - 1)) + x^6/((x - 1)*(x^2 - 1)*(x^3 - 1)*(x^4 -
1)*(x^5 - 1)*(x^6 - 1)) - x^5/((x - 1)*(x^2 - 1)*(x^3 - 1)*(x^4 - 1)*(x^5 -
1)) + x^4/((x - 1)*(x^2 - 1)*(x^3 - 1)*(x^4 - 1)) - x^3/((x - 1)*(x^2 -
1)*(x^3 - 1)) + x^2/((x - 1)*(x^2 - 1)) - x/(x - 1) + 1

sage: taylor(f,x,0,10)
41*x^10 + 30*x^9 + 22*x^8 + 15*x^7 + 11*x^6 + 7*x^5 + 5*x^4 + 3*x^3 + 2*x^2 + x + 1

Note that in sage for i in range(1,10), means that i will start at 1 and loop until
it is equal to 9 and stop before 10 (this is why we don’t see the x^10/((... term in the
output of f). Again, this series is wrong in the coefficient of x10 because I didn’t add
enough terms from my series, but I can easily change how many terms I add together and
compute this series as high as I need.
In Section ?? I will ask you to do something similar to what I just did by giving an
expression for the generating function for certain sets of partitions. Note that some of
the descriptions may not have a nice expression for their generating function, but it is a
worthwhile exercise to try to understand which ones are nice and which ones are not.

The instructions read: Apply the addition or the multiplication principle of generating
functions to give the generating function for the following sequences of numbers.

(10) the number of partitions of n with with odd parts and a part will either occur 0 or
an odd number of times

We decompose the partitions of n with odd parts that will occur 0 or an odd number
of times into a tuple consisting of the parts of size 1, 3, 5, etc. Hence we can apply the
MPofGFs to take the product for i ≥ 0 of the parts of size 2i + 1 which occur 0 or an odd
number of times. The generating function for those parts of size 2i + 1 which occur 0 or
CHAPTER 4: GENERATING FUNCTIONS 27

an odd number of times is equal to


1 + x2i+1 + x3(2i+1) + x5(2i+1) + x7(2i+1) + · · · =
1 + x2i+1 (1 + x2(2i+1) + x4(2i+1) + x6(2i+1) + · · · ) =
x2i+1
1+
1 − x2(2i+1)
Therefore the generating function for the number of partitions of n with odd parts that
will occur 0 or an odd number of times is equal to
Y x2i+1

1+
i≥0
1 − x2(2i+1)
In section ?? I’ve given a list of descriptions and I want you to go through the exercise of
explaining the generating function for these expressions. Below are three examples where
I will show the sort of detail I would like to see in your explanations.

(5) the number of partitions of n with at most 8 parts of any given size.
(28) the number of partitions of n with Durfee square of size 3 × 3 and all even parts.
(32) the number of partitions of n with a Durfee square of even size and all parts even.

The instructions read: Apply the addition or the multiplication principle of generating
functions to give the generating function for the following sequences of numbers.

(5) the number of partitions of n with at most 8 parts of any given size.

The generating function for the partitions consisting only of parts of size i with at most
8 parts is equal to
1 − x9i
1 + xi + x2i + · · · + x8i =
1 − xi
The generating function for the number of partitions of n with at most 8 parts of any
given size will be the product of the generating functions of the partitions consisting only
of parts of size i with at most 8 parts for i ≥ 1 because each partition can be decomposed
into the parts of size i for i ≥ 1. Therefore the generating function is equal to
Y 1 − x9i
1 − xi
i≥1

(28) the number of partitions of n with Durfee square of size 3 × 3 and all even parts.

A partition with a 3 × 3 Durfee square and all parts even consists of ( a 3 × 3 Durfee
square, a partition which lies above the Durfee square consisting only of parts of size 2, a
partition that lies to the right of the Durfee square consisting of exactly three parts and all
28 MIKE ZABROCKI - 2019 VERSION

parts odd ). The third entry in this tuple can be also be described as a partition consisting
of an odd number of columns of size 3, an even number of columns of size 2 and an even
number of columns of size 1.

· · ·
· · ·
· · ·
| {z }| {z }| {z }
odd number even number even number

This decomposition of a partition into these pieces implies that we can apply the
MPofGFs and the the generating function for this whole set of partitions is equal to the
1
product of the generating function for partitions with parts of size 2 only = 1−x 2 , the gen-
3
erating function for a 3 × 3 Durfee square = x , the generating function for an odd number
x3
of columns of size 3 x3 + x9 + x15 + x21 + · · · = 1−x 6 , the generating function for the even
4 8 12 1
number of columns of length 2 = 1 + x + x + x + · · · = 1−x 4 , the generating function
1
for an even number of columns of length 1 = 1−x2 . Therefore the generating function for
the number of partitions of n with Durfee square of size 3 × 3 and all even parts is equal to

1 9 x3 x1 2
x =
1 − x2 (1 − x2 )(1 − x4 )(1 − x6 ) (1 − x2 )2 (1 − x4 )(1 − x6 )

(32) the number of partitions of n with a Durfee square of even size and all parts even

A partition of n with a Durfee square of size 2k and all parts even consists of ( a Durfee
square of size 2k × 2k, a partition which lies above the Durfee square with all parts even
and maximum part 2k, a partition which lies to the right of the Durfee square where all
parts are even and the length is less than or equal to 2k). A “partition where all parts are
even and the length is less than or equal to 2k” can also be described as some even number
of columns of size i for 1 ≤ i ≤ 2k. Since the generating function for a even number of
1
columns of size i is 1−x 2i hence the generating function for the partitions which lie to the

right of the 2k × 2k Durfee square is equal to 2k 1


Q
i=1 1−x2i . The partitions which are above
the Durfee square consist only of even parts between 1 and 2k, hence by the MPofGFs
the generating function for the partitions which lies above the Durfee square with all parts
even and maximum part 2k is equal to ki=1 1−x 1
Q
2i . The Durfee square itself has generating
2
function x4k . Hence the generating function for partitions of n with a Durfee square of
CHAPTER 4: GENERATING FUNCTIONS 29

size 2k and all parts even is


k 2k
4k2
Y 1 Y 1
x .
1 − x2i 1 − x2i
i=1 i=1

Now since all partitions of n with a Durfee square of even size and all parts even are
either the empty partition or have a Durfee square of size 2k × 2k for k ≥ 1, then the
generating function is
k 2k
X 2
Y 1 Y 1
1+ x4k 2i
.
1−x 1 − x2i
k≥1 i=1 i=1

I expect you do the rest of these problems on your own. You won’t learn any more by
just reading. You have to learn to figure these out yourself.

9. Eueler’s Pentagonal Number Theorem and a recursive formula for the


partitions of n
The 18th century mathematician Q Leonardi Euler discovered a simple formula for the
expansion of the infinite product i≥1 (1 − q ). In 1881, one of the first American mathe-
maticians found an elegant combinatorial proof of this identity.
Proposition 5. (Euler’s pentagonal number theorem)
Y X  m(3m−1) m(3m+1)

(6) (1 − q i ) = 1 + (−1)m q 2 +q 2
i≥1 m≥1

There is a clever proof of this proposition that comes from one of the first American
mathematicians F. Franklin [4]. The proof uses a technique which is fairly ubiquitous
in algebraic combinatorics, to show that terms in a sum cancel associate a combinatorial
object to each term in the sum and then show that they cancel by producing a map which
sends an element with positive weight to a term with negative weight.
There are several other accounts of this proof: [2], [6], [7], [9].
We will need to talk about partitions as a combinatorial object. λ is a partition if it is a
sequence λ = (λ1 , λ2 , . . . , λ`(λ) ) with λ1 ≥ λ2 ≥ . . . λ`(λ) where we use the notation `(λ) to
represent the number of parts of λ. The symbol |λ| will represent the size of the partition
so that |λ| = λ1 + λ2 + · · · + λ`(λ) . λ is a strict partition if in addition λ1 > λ2 > · · · λ`(λ) .
There is a way of graphically representing a partition with rows of boxes. A partition
λ = (λ1 , λ2 , . . . , λ`(λ) ) is represented by a row of λ1 boxes below a row of λ2 boxes below
a row of λ3 boxes etc. Each of these rows of cells will be left justified. For example the
partition (4, 4, 3, 1, 1) is represented by the following diagram:
30 MIKE ZABROCKI - 2019 VERSION

Example 6. We note that the left hand side of this equation is the generating function
for all strict partitions (partitions where all parts are distinct) weighted with (−1)`(λ) q |λ| .
That is,
Y X
(7) (1 − q i ) = (−1)`(λ) q |λ|
i≥1 λ strict

This follows by observing that to determine the coefficient of q n by expansion of the product
on the left we have a contribution of (−1)k q λ1 +λ2 +···+λk for every sequence (λ1 , λ2 , . . . , λk )
such that λi > λi+1 for 1 ≤ i < k. Below we expand the terms of this generating function
through degree 8. For example, a term of the form (−q 4 )(−q 2 ) is represented by the picture
and we record the weight of +q 6 just below the picture.

·
1 −q −q 2 +q 3 −q 3 +q 4 −q 4 +q 5 +q 5 −q 5 −q 6 +q 6

+q 6 −q 6 −q 7 +q 7 +q 7 +q 7 −q 7 −q 8

···
−q 8 +q 8 +q 8 +q 8 −q 8 +···
Now we notice that all of the terms cancel except for the ones stated in the theorem,
that is we have Y
(1 − q i ) = 1 − q − q 2 + q 5 + q 7 + · · ·
i≥1
In fact, we will show that one way of looking at this expression is to observe terms which
survive are those that correspond to the following pictures:

·
i ) = 1 −q −q 2 +q 5 +q 7 −q 12 −q 15
Q
i≥1 (1 − q

···
+q 22 +q 26 −q 35 −q 40 ···
From the image in this example one might think that the theorem would be better
named the trapazoidal number theorem. There is a reason that the numbers m(3m − 1)/2
are referred to as pentagonal numbers and if m → −m then the pentagonal number is
transformed to → −m(−3m − 1)/2 = m(3m + 1)/2. Observe the picture below how a
sequence of pentagons have exactly m(3m − 1)/2 points in them (and this continues for
m > 3).
CHAPTER 4: GENERATING FUNCTIONS 31

Proof. To show that this proposition holds we show that there is an involution φ on the
strict partitions λ of n such that φ(λ) is also a partition of n and the length of φ(λ) will
have length either one smaller or one larger than that of λ. This means that if the weight
of a strict partition is (−1)`(λ) q |λ| then the weight of φ(λ) is −(−1)`(λ) q |λ| and so this term
corresponding to φ(λ) will cancel with the term corresponding to λ. It will be clear from
the way that this map is defined that φ(φ(λ)) = λ (i.e. this map is an involution) and the
reason this is important is that if λ cancels with φ(λ) then we also want φ(λ) to cancel
with λ.
This involution will fail to ‘work’ for the partitions of the form (2m − 1, 2m − 2, . . . , m)
which are of size 2m2 − (m+1)m 2 = m(3m−1)
2 and (2m, 2m − 1, . . . , m + 1) which are of size
2 (m−1)m m(3m+1)
2m − 2 = 2 so these terms will be the ones that do not cancel.
For a strict partition λ we will let r equal to the smallest part of λ (r = λ`(λ) ) and let
s equal the number of parts which are consecutive at the beginning of the partition. In
other words s is the largest integer such that (λ1 , λ2 , . . . , λs ) = (λ1 , λ1 − 1, . . . , λ1 − s + 1).
If s 6= `(λ) and r > s then we will let φ(λ) equal the partition (λ1 − 1, λ2 − 1, . . . , λs −
1, λs+1 , . . . , λ`(λ) , s). That is, if the diagram for the partition looks something like the
following where there is an × in each of the cells corresponding to r and a dot in the cells
corresponding to s
××××
··
·
then φ(λ) will be the partition with the diagonal of s cells filled with a dot moved to the
top row of the partition.
·×
×·×
·×

φ(λ) is still a strict partition and it has the property that the longest string of consecutive
parts at the beginning of the partition is greater than or equal to s.
If s 6= `(λ) and r ≤ s then we will let φ(λ) equal to the partition (λ1 + 1, λ2 + 1, . . . , λr +
1, λr+1 , . . . , λ`(λ) ). For example, if our diagram is similar to the one below with the cells
marked with an × representing the row of size r and those marked with the · represent the
cells which correspond to the s consecutive parts at the beginning of the partition.
×××
··
··

The partition corresponding to φ(λ) is then represented by the following picture.

· ·×
·×
·×
Notice that it is also possible that s = `(λ) and we consider this case separately because
we need that r is at least 2 more cells than s does before we can move the s cells to the
top row. In this case if r > s + 1 then we will remove the s cells along the diagonal and
32 MIKE ZABROCKI - 2019 VERSION

turn them into the shortest row so that φ(λ) = (λ1 − 1, λ2 − 1, . . . , λs − 1, s). For example
we have the picture on the left will be transformed to the one on the right.

××××ו · ·×
×·×
·××
·
λ φ(λ)
If s = `(λ) and r < s then it is still possible to move the shortest row of λ to the first
r rows. We will set φ(λ) = (λ1 + 1, λ2 + 1, . . . , λr + 1, λr , . . . , λ`(λ)−1 ), this corresponds to
the case when we have a partition of the form of the one below.

×ו · ··
·· ·×
·· ·×
·×
λ φ(λ)
If we describe what is happening to the diagram the map φ does one of two things, either
it removes the smallest row of r = λ`(λ) cells of the partition and places one cell more in
each of the first r rows (in the case that r < s or r = s and s < `(λ)) or it removes one
cell from each of the first s rows and adds a row of size s to the top of the diagram (in the
case that r > s + 1 or r = s + 1 and s < `(λ)).
Observe that if the weight of λ is (−1)`(λ) then since φ(λ) has the same number of cells
and either one more or one less row than λ then the weight of φ(λ) is the negative of the
weight of λ.
Also observe for each of the 4 cases we have considered, φ(φ(λ)) is just λ. This implies we
can say that in the expansion of the expression λ strict (−1)`(λ) q |λ| , the term corresponding
P
to the partition λ will cancel with the term corresponding to the partition φ(λ) because
the then φ(λ) will also cancel with φ(φ(λ)) = λ.
There are two cases that we have not considered. These terms do not cancel. One is
that r = s and s = `(λ) and so we have a partition of the form (2m − 1, 2m − 2, . . . , m)
and the other is that r = s + 1 and s = `(λ) and this is a partition of the form (2m, 2m −
1, . . . , m + 1). 

We encourage the reader to take a pencil and draw an arrow between the diagrams of the
strict partitions given in the example above to show that the involution works as expected.

9.1.
Q A 1recursive formula for all partitions of n. Recall in Equation (5) stated that
i≥1 1−q i is a generating function for the number of partitions of n and now we have a
formula for i≥1 (1 − q i ). The product of these two expression is 1 and if n > 0 then the
Q
Q  Q 
1
coefficient of q n in i≥1 1−q i · i≥1 (1 − q i ) is equal to 0.

Let p(n) be the number of partitions of n, then Equation (5) states


Y 1 X
= p(n)q n
1 − qi
i≥1 n≥0
CHAPTER 4: GENERATING FUNCTIONS 33

and Theorem ?? states


Y X  m(3m−1) m(3m+1)

(1 − q i ) = 1 + (−1)m q 2 +q 2 .
i≥1 m≥1
By the multiplication principle of generating functions the coefficient of q n in the product
of these two generating functions is
p(n) − p(n − 1) − p(n − 2) + p(n − 5) + p(n − 7) − p(n − 12) − p(n − 15) + p(n − 22) + · · · .
Since this expression is also equal to 0 if n ≥, we have that
p(n) = p(n − 1) + p(n − 2) − p(n − 5) − p(n − 7) + p(n − 12) + p(n − 15) − p(n − 22) + · · ·
with the convention that p(m) = 0 if m < 0.
Example 7. There is one empty partition and one partition with one cell so, p(0) = p(1) =
1. Then
p(2) = p(1) + p(0) = 2
p(3) = p(2) + p(1) = 2 + 1 = 3
p(4) = p(3) + p(2) = 3 + 2 = 5
p(5) = p(4) + p(3) − p(0) = 5 + 3 − 1 = 7
p(6) = p(5) + p(4) − p(1) = 7 + 5 − 1 = 11
p(7) = p(6) + p(5) − p(2) − p(0) = 11 + 7 − 2 − 1 = 15

The sequence p(0), p(1), p(2), . . . is sequence number A000041 in the online encyclopedia of
integer sequences. This formula is a reasonably efficient way to calculate the values quickly.

10. Some Exercises from Section 7 solved


I said that I would solve problems that people asked me about in class. I am going to
put the solutions to these (the ones that people asked about) so that you have a reasonable
idea of my expectations of what I would like to see as justification of these problems.
n+2 n−2 n
P  
(7) n≥0 2 2 x

(1) How many ways are there making change for n = $1.00 with pennies, nickels, dimes
and quarters such that:
(a) there are an even number of nickels and no pennies ?
(b) such that there at most 6 nickels ?
(c) the total number of nickels and dimes is even ?
(d) the total number of pennies, dimes and quarters is even ? (*)
(2) How many ways are there of placing n = 50 balls in 10 distinguished boxes such
that:
(c) the first 4 boxes have at most 10 of the balls ?
(d) the first 4 boxes have at least half of the balls ? (*)
34 MIKE ZABROCKI - 2019 VERSION

(3) (b) Find the generating function for the sequence


P a1 , a0 , a3 , a2 , a5 , a4 , a7 , a6 , . . . in
terms of the generating function A(x) = n≥0 an xn .
(d) Given D0 = 1, D1 = a and Dn+1 = aDn + bDn−1 where a, b are unknowns.
The entry sequence Dn will be a polynomial in a and b. Find the coefficient
of ar bs .

(*) I will not do (1) (d) and (2) (d) here.

(7) I want to give an expression for n≥0 n+2


P  n−2 n
2 2 x . I will use onefact
that we derived
k n
on Sept 27 notes, that if A(x) = n≥0 an xn , then xk! A(k) (x) = n≥0 a xn . I will also
P P
k n
1
use the fact that xr A(x) = n≥0 an xn+r = n≥r an−r xn . Start with A(x) = (1−x)
P P
3 =
   
n+2 n n−2
= (n−2)(n−3)
P
n≥0 x . Notice that since 2 then what I would like to do
2 2
 
n+2 n
is decrease the exponent of the x in x in A(x) by 2 (to n − 2) then differentiate
2
twice and then multiply until we have the right exponent.
X n + 2
A(x) − 1 − 3x = xn
2
n≥2
X n + 2 
−2
x (A(x) − 1 − 3x) = xn−2
2
n≥2

d2  X n + 2 d2 n−2
  X n + 2
−2
x (A(x) − 1 − 3x) = (x ) = (n − 2)(n − 3)xn−4
dx2 2 dx2 2
n≥2 n≥2
2
 
1 d X n + 2 (n − 2)(n − 3) n−4
x−2 (A(x) − 1 − 3x) =

x
2 dx 2 2 2
n≥2
2
     
41 d n−2 n X n+2 n−2 n
−2
 X n+2
x x (A(x) − 1 − 3x) = x = x
2 dx2 2 2 2 2
n≥2 n≥0

(1) (a) Every way of making change for n cents using an even number of nickels and some
dimes and quarters is a tuple of the form (X, Y, Z) where X is some means of making
change for r cents with an even number of nickels, Y is some means of making change for s
cents using dimes and Z is some means of making change for n − r − s cents with quarters.
Therefore we have that the generating function for making change with an even number of
nickels, and some dimes and quarters is equal to
= (g.f. for the ways of making change using an even number of nickels)(g.f. for
CHAPTER 4: GENERATING FUNCTIONS 35

the ways of making change using dimes)(g.f. for the ways of making change using quarters)
If I am using an even number of nickels, then I can make change for n cents in one way if
and only if n is a multiple of 10. Therefore
1
g.f. for the ways of making change using an even number of nickels =
1 − x10
Similarly, if I am making change for n cents using dimes , then I can make change for n
cents in one way if and only if n is a multiple of 10. Therefore
1
g.f. for the ways of making change using dimes =
1 − x10
If I am making change for n cents using quarters, then I can make change for n cents in
one way if and only if n is a multiple of 25.
1
g.f. for the ways of making change using quarters =
1 − x25
We conclude that the g.f. for the number of ways of making change for n cents using an
even number of nickels and some dimes and quarters is
1
(1 − x )2 (1 − x25 )
10

Ideally we would like to take the coefficient of x100 and in this case the generating function
1 25 + x50 + x75 + x100 + · · ·
is simple enough that we can do this by hand. Since 1−x 25 = 1 + x
then
1 1 1 1
10 2 25
= 10 2
+ 10 2
+
(1 − x ) (1 − x ) x 100 (1 − x ) x 100 (1 − x ) x 75 (1 − x10 )2 x50
1 1
+ 10 2
+
(1 − x ) x 25 (1 − x10 )2 x0
Well we know that there is no way of getting a power of x25 or x75 in 1/(1 − x10 )2 because
the only powers that appear are multiples of 10. Moreover we also know that 1/(1−x10 )2 =
1 + 2x10 + 3x20 + 4x30 + 5x40 + 6x50 + · · · . Therefore,
1
= 11 + 6 + 1 = 18 .
(1 − x )2 (1 − x25 ) x100
10

(1) (b) Every way of making change with pennies, dimes, quarters and 6 nickels can be
broken down into four steps consisting of a way of making change in pennies for r cents,
a way of making change in dimes for s cents, a way of making change with quarters for t
cents and with at most 6 nickels for n − r − s − t cents. By the multiplication principle of
generating functions, we know that
g.f. for making change for n cents with pennies, dimes, quarters and at most 6 nickels
= (g.f. for making change for n cents with pennies)(the ways of making change using
dimes)(g.f. for the ways of making change using quarters)(the ways of making change
36 MIKE ZABROCKI - 2019 VERSION

using at most 6 nickels)


The generating functions for making change with pennies, dimes and quarters are similar
1 1 1
to the last problem and are respectively 1−x , 1−x 10 , 1−x25 . The g.f. for making change
using at most 6 nickels is slightly different. Then there is exactly one way of making change
for 0, 5, 10, 15, 20, 25, 30 cents using at most 6 nickels hence the generating function is given
by
1 − x35
1 + x5 + x10 + x15 + x20 + x25 + x30 =
1 − x5
Therefore
g.f. for making change for n cents with pennies, dimes, quarters and at most 6 nickels
1 − x35
=
(1 − x)(1 − x5 )(1 − x10 )(1 − x25 )

(1) (c) The number of ways of making change for n cents with pennies, quarters and then
an even number of nickels and dimes can be seen a way of making change for r cents using
pennies, followed by s cents using quarters, followed by n−r−s cents using an even number
of nickels and dimes. Therefore,
g.f. for making change for n cents using pennies, quarters and then an even number
of nickels and dimes = (g.f. for making change for n cents using pennies)(g.f. for
making change for n cents using quarters)(g.f. for making change for n cents using
even number of nickels and dimes)
Now there is one way of making change for n cents using pennies hence the generating
1
function is 1−x .
There is one way of making change for n cents using quarters if and only if n is divisible
1
by 25, hence the generating function for making change for n cents using quarters is 1−x 25 .
Now to make change for n cents with an even number of nickels and dimes is only
possible if n is divisible by 5. In fact, if n is divisible by 20 then there is one way to
make change for 0 cents and one more way for each 20 cents more and so the generating
function for these terms is 1/(1 − x20 ) = 1 + 2x20 + 3x40 + 4x60 + · · · . If n ≡ 5 (mod 20),
then there are no ways of making change for 5 cents with an even number of coins and
for every 20 cents there is one more way so the generating function for these terms is
x25 /(1 − x20 )2 = x25 + 2x45 + 3x65 + 4x85 + · · · . If n ≡ 10 (mod 20) then there is one
way for making change for 10 cents (2 nickels) and one more way for each 20 cents, so
the generating function for these terms is x10 /(1 − x20 )2 = x10 + 2x30 + 3x50 + 4x70 + · · · .
If n ≡ 15 (mod 20) there is one way of making change for 15 cents (one nickel and one
dime) and one more way for each 20 cents after so the generating function for these terms
is x15 /(1 − x20 )2 = x15 + 2x35 + 3x55 + 4x75 + · · · . Since every multiple of 5 is equivalent
to 0, 5, 10 or 15 (mod 20) then the generating function for the number of ways of making
change for n cents using an even number of nickels and dimes is equal to the sum of the
CHAPTER 4: GENERATING FUNCTIONS 37

generating functions for n equivalent to 0, 5, 10, or 15 (mod 20), therefore the generating
function is equal to (1 + x10 + x15 + x25 )/(1 − x20 )2 .
We conclude that
g.f. for making change for n cents using pennies, quarters and then an even number
1 + x10 + x15 + x25
of nickels and dimes =
(1 − x)(1 − x25 )(1 − x20 )2

n,
P
(3) (b) We know from class Sept 27 that if A(x) = n≥0 an x then
1
x (A(x) + A(−x)) = a0 x + a2 x3 + a4 x5 + a6 x7 + · · ·
2
and the generating function for the odd terms (shifted) is
1
(A(x) − A(−x)) = a1 + a3 x2 + a5 x4 + a7 x6 + · · ·
2x
hence
x 1
(A(x) + A(−x))+ (A(x) − A(−x)) = a1 +a0 x+a3 x2 +a2 x3 +a5 x4 +a4 x5 +a7 x6 +a6 x7 +· · ·
2 2x

(3)(d) Since D0 = 1 and D1 = a, then D(x) = n≥0 Dn xn = 1 + ax + n≥2 Dn xn , now


P P
use the recursive definition for n ≥ 2, so that
X
D(x) = 1 + ax + (aDn−1 + bDn−2 )xn = 1 + axD(x) + bx2 D(x)
n≥2

Solving for D(x), we have D(x) − axD(x) − bx2 D(x) = D(x)(1 − ax − bx2 ) = 1, so then
1
D(x) = .
1 − ax − bx2
Now you are asked what is the coefficient of ar bs in the coefficient of xn . To do this we
expand as a series in x, then look at the resulting expression and take the coefficient of
ar bs .
1 1 X
= = (ax + bx2 )m
1 − ax − bx2 1 − (ax + bx2 )
m≥0
X
= (a + bx)m xm
m≥0
X X m
= am−k bk xm+k .
k
m≥0 k≥0

Now the coefficient of xn forces n = m + k, hence


X n − k 
Dn = an−2k bk .
k
k≥0
38 MIKE ZABROCKI - 2019 VERSION

The coefficient of ar bs is equal to 0 unlessk = sand n − 2k = r (or n = r + 2s) and if


r+s
n = r + 2s then the coefficient is equal to .
s

How many non-negative integer solutions are there to the equation

x1 + x2 + x3 + x4 = n

with x1 + x2 divisible by 3?

The first step would be to find an equation for the generating function, although there
is a second answer (that I didn’t discuss in class) which also can be used to answer this
question. To find the generating function you would first break the problem into three
steps, find the number of solutions to x1 + x2 = k where x1 + x2 is divisible by 3, the
number of solutions to x3 = ` and the number of solutions to x4 = n − k − `. Since we
have broken down the problem into these three substeps, then we know that
g.f. for # of solutions to x1 + x2 + x3 + x4 = n with x1 + x2 divisible by 3 = (g.f. for #
of solutions to x1 + x2 = n with x1 + x2 divisible by 3) (g.f. for # of solutions to x3 = n
) (g.f. for # of solutions to x4 = n ). We know that for each n there is one solution to
x3 = n so the generating function for the number of such solutions is 1/(1 − x) (similarly
for x4 = n). Now to find the generating function for x1 + x2 = n with x1 + x2 divisible
by 3, the obvious way is to take the generating function for the number of solutions to
x1 + x2 = n which we know is equal to A(x) = 1/(1 − x)2 and then pick out every third
term using the method that we discussed in Section 3 was
1
(A(x) + A(ζ3 x) + A(ζ32 x)) .
3
Instead I will suggest another method to get at this generating function by computing a
table of coefficients and then writing a formula for the generating function.
n 0 1 2 3 4 5 6 7 8 9
# of solutions 1 0 0 4 0 0 7 0 0 10
In other words if n is divisible by 3, then the number of solutions is n + 1, otherwise it is
0. This means that the generating function is
X X X x3 1
(3n + 1)x3n = 3 nx3n + x3n = 3 3 2
+ .
(1 − x ) 1 − x3
n≥0 n≥0 n≥0

Note that the last equality comes from the tables of generating functions that we have
developed. From this we conclude that
g.f. for # of solutions to x1 + x2 + x3 + x4 = n with x1 + x2 divisible by 3 =
x3
 
1 1
3 3 2
+ 3
.
(1 − x ) 1−x (1 − x)2
CHAPTER 4: GENERATING FUNCTIONS 39

There is another way of coming up with an answer to this question. If we want to find
the number of solutions to x1 + x2 + x3 + x4 = n with x1 + x2 divisible by 3 then we don’t
need to go so far as to apply generating functions. This is equal to the number of solutions
to x1 + x2 = k and x3 + x4 = n − k with x1 + x2 divisible by 3. For each k there are (k + 1)
solutions to x1 + x2 = k and there are n − k + 1 solutions to x3 + x4 = n − k. Therefore
the number of solutions
bn/3c
X X
(k + 1)(n − k + 1) = (3r + 1)(n − 3r + 1).
3 divides k r=0

What I hoped to show from this example is that ordinary generating functions are a
very powerful tool for enumerating certain types of sets. Usually these are sets that can be
reduced to something that is very similar to the example we just looked at. We can apply
the multiplication principle of generating functions if we can divide the enumeration of a
set with cn elements into a widget of size k and a doodle of size n − k, then if ak is the
number of widgets of size k and bn−k is the number of doodles of size n − k, then
X n
(8) cn = ak bn−k .
k=0
The problem is that there are many other enumeration questions where we don’t have
this sort of decomposition. In the next chapter we will see a way of enlarging this class of
coefficients that we can handle

11. Answers to Example 1


Below are the list of algebraic expressions which are the generating function for the
corresponding operations on sequence that was described in Example 1. The variable n
refers to the term of the sequence (i.e. the nth term of the sequence starting at n = 0).
(1) shift right
X
xA(x) = 0 + a0 x + a1 x2 + a2 x3 + · · · = an xn+1
n≥0

(2) shift left


X
(A(x) − a0 )/x = a1 + a2 x + a3 x2 + a4 x4 + · · · = an+1 xn
n≥0

(3) subtract/add 1 to each term in the sequence


1 X
A(x) ± = (a0 ± 1) + (a1 ± 1)x + (a2 ± 1)x2 + · · · = (an ± 1)xn
1−x
n≥0

(4) multiply each term by 2


X
2A(x) = 2a0 + 2a1 x + 2a2 x2 + · · · = 2an xn
n≥0
40 MIKE ZABROCKI - 2019 VERSION

(5) multiply by 2n
X
A(2x) = a0 + 2a1 x + 4a2 x2 + · · · = 2n an xn
n≥0

(6) multiply by n
d X
x A(x) = 0 + 1a1 x + 2a2 x2 + · · · = nan xn
dx
n≥0

(7) insert 0s between the entries


X
A(x2 ) = a0 + a1 x2 + a2 x4 + · · · = an x2n
n≥0

(8) remove odd terms


A(x) + A(−x) X
= a0 + a2 x2 + a4 x4 + · · · = a2n x2n
2
n≥0

(9) remove even terms


A(x) − A(−x) X
= a1 + a3 x3 + a5 x5 + · · · = a2n+1 x2n+1
2
n≥0

(10) just the even terms


√ √
A( x) + A(− x) X
= a0 + a2 x + a4 x2 + · · · = a2n xn
2
n≥0

(11) just the odd terms


√ √
A( x) − A(− x) X
= a1 + a3 x + a5 x2 + · · · = a2n+1 xn
2
n≥0

n

(12) multiply by k

dk
      X n
k 0 1 2 2
x A(x) = a0 + a1 x + x + ··· = an xn
dxk k k k k
n≥0

(13) partial sums


n
!
1 X X
A(x) = a0 + (a0 + a1 )x + (a0 + a1 + a2 )x2 + · · · = ar xn
1−x
n≥0 r=0
CHAPTER 4: GENERATING FUNCTIONS 41

References
[1] G. Andrews, Euler’s Pentagonal Number Theorem, Mathematics Magazine, 56 no. 5 (1983), 279–284.
[2] G. Chrystal, Algebra, Part II, 2nd ed., Black, London, 1931.
[3] L. Euler, Evolutio producti infiniti (1 − x)(1 − xx)(1 − x3 )(1 − x4 )(1 − x5 )(1 − x6 ) etc., Opera Omnia,
(1) 3, 472–479.
[4] F. Franklin, Sur le développement du produit infini (1 − x)(1 − x2 )(1 − x3 ) · · · , Comptes Rendus, 82
(1881).
[5] E. Grosswald, Topics in the Theory of Numbers, Macmillan, New York, 1966; Birkhäuser, Boston,
1983.
[6] H. Gupta, Selected Topics in Number Theory, Abacus Press, Tunbridge Wells, 1980.
[7] G. H. Hardy and E. M. Wright, An Introduction to the Theory of Numbers, 4th ed., Oxford University
Press, London 1960.
[8] I. Niven and H. Zuckerman, An Introduction to the Theory of Numbers, 3rd ed., Wiley, New York,
1973.
[9] H. Rademacher, Topics in Analytic Number Theory, Grundlehren series, vol 169, Springer, New York,
1973.

You might also like