Linear Algebra: How do matrices work? Do they work on coordinates?? Let's find out!

Here is a neat interactive tool for eigenvectors and eigenvalues.

Example System

Here is a simple dynamical system that describes the relationship between coyotes and roadrunners in a fictional country:

Number of coyotes next year = 0.86*(number of coyotes this year) + 0.008*(number of roadrunners this year)

Number of roadrunners next year = -0.12*(number of coyotes this year) + 1.14*(number of roadrunners this year)

c(t+1) = 0.86c(t) + 0.008r(t)

r(t+1) = -0.12c(t) + 1.14r(t)

The matrix [(]c(t), r(t)] is a state vector, telling us everything we need to know about the system
The 2x2 matrix encodes all we need to do to the matrix in order to compute the following year's state vector

We can apply the matrix again and again to compute additional years, which can get a bit tedious

Let's plot out the stepwise changes from an initial state

Something interesting happens if we pick a specific starting state vector

Each iteration, the state actually increases by a fixed amount! Step 1 is (1.1 * step0), Step 2 is (1.1*1.1 * step0)

Step N is then (1.1^n * step0)
For these special initial state vectors, we don't need the transformation matrix at all!

These special initial state vectors are called eigenvectors. The fixed amount of increase, 1.1, is the eigenvalue.
This transformation matrix has two of them: [100,300] and [200,100].

Eigenvectors give you one key benefit: Because they describe a consistent "line" moving from [0,0], you can use them to compute c(t) and r(t) for other state vectors!

We have a simple system of equations, which can be solved via substitution for s_1 and s_2. Eventually, we find s_1=2 and s_2=4, meaning that the initial state vector [1000,1000] can be represented using the two eigenvectors for the system.

We can then use the formula for eigenvectors to solve for a particular time, t

Using these formulas to draw a line graph...

And now drawing lines for many different combinations of s_1 and s_2!

Note: This code does not make eigenvectors have a length of 1. This is generally done by convention.