0% found this document useful (0 votes)
87 views

Eigenvalue Puzzle Solution

This document discusses solving an eigenvector puzzle where the given matrix A follows the Fibonacci sequence when computing higher powers of A. It is shown that the eigenvalues of A are the golden ratio and its inverse. Switching to the eigenbasis of A allows representing higher powers of A in a simple way, relating the problem to computing Fibonacci numbers.

Uploaded by

juasjuas777
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
87 views

Eigenvalue Puzzle Solution

This document discusses solving an eigenvector puzzle where the given matrix A follows the Fibonacci sequence when computing higher powers of A. It is shown that the eigenvalues of A are the golden ratio and its inverse. Switching to the eigenbasis of A allows representing higher powers of A in a simple way, relating the problem to computing Fibonacci numbers.

Uploaded by

juasjuas777
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Eigenvector puzzle solution

April 6, 2018

In the puzzle we were given the following matrix,

" #
0 1
A= ,
1 1

and we were asked to compute several powers of this matrix. Taking the time to work out the first few, here’s what we
get.

" #" # " #


2 0 1 0 1 1 1
A = =
1 1 1 1 1 2

" #" # " #


0 1 1 1 1 2
A3 = AA2 = =
1 1 1 2 2 3

" #" # " #


4 3 0 1 1 2 2 3
A = AA = =
1 1 2 3 3 5

" #" # " #


5 4 0 1 2 3 3 5
A = AA = =
1 1 3 5 5 8

" #" # " #


6 5 0 1 3 5 5 8
A = AA = =
1 1 5 8 8 13

Two things stand out as we do this. First, this process is tedious! Finding matrix powers is no fun, and the prospect of
finding something like A100 feels truly horrifying. And even if you have a computer to evaluate this for you, finding
matrix powers simply by repeating matrix multiplication stands to be very computationally inefficient, especially for large
matrices. Switching to an eigenbasis, as you are about to see, can greatly speed up the process, both for doodling humans
and number-crunching machines.
The second thing that stands out is that the terms in side our matrix appear to be following the Fibonacci sequence!
1, 1, 2, 3, 5, 8, 13, . . . There’s actually a good reason for this. Notice how this matrix acts on an arbitrary vector:

1
" #" # " #
0 1 a b
=
1 1 b a+b

So the second component of the input, b, vector gets shifted to be the first component of the output, and the second
component of the output becomes the sum of a and b. For example, think of applying that process repeatedly to a given
vector:

" # " #
a b

b a+b

" # " # " # " # " # " #


1 1 2 3 5 8
→ → → → → → ···
1 2 3 5 8 13

This iterative process perfectly capture the one defining the Fibonacci sequence: Each term is the sum of the previous
two terms.

So, since multiplying the matrix An by a vector corresponds to going through this process n times, figuring out how to
represent An can lead us to an explicit formula for the nth Finbonacci term. I don’t know about you, but I find that
awesome! Well, maybe it’s not obvious that a clean formula for An is achievable, but this is where eigenvectors come in.

We can find the eigenvalues of this matrix by subtracting a variable λ off the diagonal, and computing when its
determinant is 0:

" #!
0−λ 1
det([A − λI) = det = λ2 − λ − 1 = 0
1 1−λ

This quadratic has two solutions:


1+ 5
λ1 =
2√
1− 5
λ2 =
2

Some of you may recognize the first of these as the golden ratio ϕ = 1.618 . . . , and the second as − ϕ1 = −0.618 . . . .

To find the eigenvectors, you find a non-zero solution to the equation

2
" #" # " #
0−λ 1 x 0
=
1 1−λ y 0

Doing so, you’ll find that the eigenvectors corresponding to λ1 and λ2 are

"
1
√ #
2 (−1 + 5)
v1 =
1

"
1
√ #
2 (−1 − 5)
v2 =
1

Why are we doing this? Well, think about what it means for v1 to be an eigenvector of A. It means multiplying A by v1
just has the effect of scaling it by a constant, namely the eigenvalue λ1 . So repeatedly multiplying A by this vector, say
100 times, just has the effect of scaling this vector by λ100
1 . So, if we switch to a coordinate system where the two
eigenvalues are our basis, the action An will have a very simple form, since its effect on the basis vectors would simply be
multiplying by λn1 and λn2 .

So...how do you switch to a different basis? If you’ll recall from the video on that topic, a matrix whose columns are the
vectors v1 and v2 can be thought of as translating a coordinates describing a certain vector in the language of that basis
system into a description of that same vector in our basis. That is, define the matrix

"
1
√ 1
√ #
2 (−1 + 5) 2 (−1 − 5)
S= .
1 1

Then S is the change of basis matrix which has the effect of taking in a vector written in the coordinates of the
eigenbasis, and spitting out the coordinates for that same vector in our standard basis. So to take the action of the
matrix A, and write it in the language of the eigenbasis, we’d write an expression like this:

D = S −1 AS

You might read the right side here as saying first translate from the language of the eigenbasis to our basis, then apply A,
then translate back. The resulting matrix D will represent the same transformation as A, just in the language of the
eigenbasis. The whole point of doing this is to make it so that the action of A just looks like stretching two basis vectors.
Let’s see how that plays out!

The inverse of S is

"
1
√ 1
√ #−1 " √ # " √ #
−1 2 (−1 + 5) 2 (−1 − 5) 1 1 − 12 (−1 − 5) 1 1 − 21 (−1 − 5)
S = = 1
√ =√ 1

1 1 det(S) −1 2 (−1 + 5) 5 −1 2 (−1 + 5)

3
Crunching through it all, we then get

" √ #" #" √ √ #


−1 1 1 − 12 (−1 − 5) 0 1 1
2 (−1 + 5) 1
2 (−1 − 5)
D=S AS = √ 1

5 −1 2 (−1 + 5) 1 1 1 1

" √ #" #
1 1 − 12 (−1 − 5) 1 1
=√ 1
√ 1
√ 1

5 −1 2 (−1 + 5) 2 (1 + 5) 2 (1 − 5)

"
1
√ #
2 (1 + 5) 0

= 1
0 2 (1 − 5)

" #
λ1 0
=
0 λ2

We actually could have concluded this ahead of time, since the action of A on the first eigenvector is to scale it by
√ √
λ1 = 12 (1 + 5), and its action on the second basis vector is to scale it by λ1 = 12 (1 − 5). Nevertheless, it’s nice to get a
little computational confirmation now and then.

Okay, final stretch! This means in the eignebases, the action of our transformation n times is simply

" #n " #
n λ1 0 λn1 0
D = =
0 λ2 0 λn2

Compare that to how it felt to compute the first few powers of An , much easier! Of course, this is all in coordinate
system of the eigenbasis, so to translate back to our coordinate system, we have

"
1
√ 1
√ #" # " √ #
n n −1 2 (−1 + 5) 2 (−1 − 5) λn1 0 1 1 − 21 (−1 − 5)
A = S(D )S = √ 1

1 1 0 λn2 5 −1 2 (−1 + 5)

√ √
This can be a written a little more nicely if we notice the occurance of λ1 = 12 (1 + 5) and λ2 = 12 (1 − 5) in the change
of basis matrices, and pull the √1 term to the front. Also, in doing the calculuation, I’ll take advantage of the convenient
5
fact that λ1 λ2 = −1

4
" #" #" #
n n −1 1 −λ2 −λ1 λn1 0 1 λ1
A = S(D )S =√
5 1 1 0 λn2 −1 −λ2

" #" #
1 −λ2 −λ1 λn1 λn+1
1
=√
5 1 1 −λn2 −λn+1
2

" #
1 −λ2 λn1 + λ1 λn2 −λ2 λn+1
1 + λ1 λn+1
2
=√
5 λn1 − λn2 λn+1
1 − λn+1
2

" #
1 λn−1
1 − λn−1
2 λn1 − λn2
=√
5 λn1 − λn2 λn+1
1 − λn+1
2

If you compare this to the first few computations we did for An at the start, this gives us a very striking formula. The
nth Fibonacci number has the formula

 √ n  √ n
1+ 5
λn1
− λn2 2 − 1−2 5
Fn = √ = √
5 5

It’s not even obvious that this expression should give a rational expression, much less the Fibonacci numbers!

You might also like