Plotting Trajectories in Linear Dynamical Systems
Our first example
We'll start with a matrix A and see what it does to an initival vector in .
To plot the trajectory of my initial vector I'll need to know eigenvalues and eigenvectors. Mathematica will give me this information when I run the command Eigensystem.
The output tells me that the two eigenvalues are 11/10 and 1/2, with a basis for the corresponding eigenspaces given by the vectors (-1,1) and (1/3,1). I'll go ahead and plot the lines spanned by these vectors. Notice that the plot Mathematica generates has a weird scale so that the graph appears wider than it is long (even though the y values go between -300 and 300 whereas the x values only go between -100 and 100).
Now I'm ready to give Mathematica my initial vector. I'll define v0=(1,1) and will plot it on the axes above.
You can see that the point looks like its right on the origin, but this is only because my picture is blown up pretty large.
What I'd like to do now is plot the trajectory of the initial condition as time progresses forward. I'll get Mathematica to do this by producing a table of images, and it will even animate the images for me! The animation is below.
Now I'd like to see where my initial condition came from, which is to say I'd like to see where the point was in the past. I'll do this by just taking negative powers of my matrix. The picture below (which should be animated) starts at time t=-7 and progresses to time t=-1.
Now I'd like to see all these images together at once: we'll watch the path our initial condition defines from time t=-7 to time t=55.
Notice that as time progresses into the future the vectors in our system are starting to hug the line spanned by the eigenvector with eigenvalue 11/10, whereas as we move into the past the vectors in our system hug the line spanned by the eigenvector with eigenvalue 1/2. This happens for a simple algebraic reason: if we express our vector as a linear combination of the eigenvectors
then the state of the system at time t is given by
In this case the first eigenvalue is greater than 1 and the second is less than 1. This means as time proceeds to infinity, the contribution of the second vector goes to 0 (since (1/2)^t -> 0 as t->infinity). Hence the vector vt begins to look more and more like a multiple of the first eigenvector. Similarly as time proceeds to negative infinity the contribution of the first vector goes to 0, and so vt begins to look like a multiple of the second eigenvector.
Our second example
In this next example we'll define a new matrix which acts on .
Notice that this matrix has no real eigenvalues, and hence no eigenvectors
Even though this matrix has no real eigenvalues, we're still interested to see its trajectory. Let's just see what happens as time progresses in the linear dynamical system defined by the matrix Dee and the initial vector (1,1). As always, the image is animated on a loop, so it will reset after a few moments.
Aha! The action looks something like a rotation combined with a scaling. We'll get to the bottom of this kind of action in class tomorrow.