Math 221 Lecture 18 

Eigenvalues and Eigenvectors 

 

Several physical applications require the analysis of a system of equations where the results at time k+1  depends on the some combination of the amounts at time k.  They can be represented as a vector matrix equation of the form x(k+1)=Ax{k}.  In these models, the amount at some starting time is known and we want to know the amount present at some future time or what happens to the solutions as time goes to infinity.  As time goes to infinity the solution  is know as the steady state solution.   

 

The relationship x(k+1)=Ax(k)=A(Ax(k-1))=A(A(Ax(k-2)))=...A(A...(Ax(0))...).   

We can simplify the above relationship as  

                        x(k+1) = Ax(k)=Typesetting:-mrow(Typesetting:-mi( x(k-1) = Typesetting:-mrow(Typesetting:-mi( x(k-2) = Typesetting:-mrow(Typesetting:-mi( x(k-3) = ... = Typesetting:-mrow(Typesetting:-msup(Typesetting:-mi( x(0). 

 

We would like to have a method that would not require us to have to take powers of matrices.
This is not an easy thing to do accuatly even in the case of 2x2 matrices.  Many of the problems that arise in the real world are very large systems.  The above type of system is call a finite dimensional dynamical system.   There are two different approaches to solving the above problems that we will study.  They are both related to only one topic.  The first thing we want to look at is what happens  if  A
x = Typesetting:-mrow(Typesetting:-mi( x.    This means that Typesetting:-mrow(Typesetting:-mi( x = A(Ax) = A(Typesetting:-mrow(Typesetting:-mi( x) = Typesetting:-mrow(Typesetting:-mi( Ax = Typesetting:-mrow(Typesetting:-mi( ( Typesetting:-mrow(Typesetting:-mi( x) = Typesetting:-mrow(Typesetting:-mi( x 

 

So if A is nxn i.e. we have a system of n equations then if any vector can be written as  

a linear combination of independent vectors with the property that Ax1 = Typesetting:-mrow(Typesetting:-msub(Typesetting:-mi( x1  or 

x = Typesetting:-mrow(Typesetting:-msub(Typesetting:-mi( x1 + Typesetting:-mrow(Typesetting:-msub(Typesetting:-mi( x2 +.....+ Typesetting:-mrow(Typesetting:-msub(Typesetting:-mi( xn 

and  

Typesetting:-mrow(Typesetting:-msup(Typesetting:-mi( x (0)=Typesetting:-mrow(Typesetting:-mi( x1 + Typesetting:-mrow(Typesetting:-mi( x2 + ...+Typesetting:-mrow(Typesetting:-mi(  xn 

 

This means that we have turned the problem of taking powers of a matrix into taking powers of n scalar numbers.   

 

The next thing that we would like to look at is what happens when we take powers of a diagonal matrix.  

 

 

> with(LinearAlgebra):
 

> A:=DiagonalMatrix(<a,b,c,d>,4,4);
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> A^2;;
 

Typesetting:-maction(Typesetting:-mverbatim(
 

> A^50;
 

Typesetting:-maction(Typesetting:-mverbatim(
 

With this in mind now condsider what happens if the matrix A can be written as 

Typesetting:-mrow(Typesetting:-mi( where D is a diagonal matrix.   Typesetting:-mrow(Typesetting:-mi(   or since Typesetting:-mrow(Typesetting:-mi( we have  

Typesetting:-mrow(Typesetting:-mi(  so now we have shifted the problem of taking powers to finding powers of the diagonal elements.   Returning to our origional dynamical system we see if we can write the matrix 

A as Typesetting:-mrow(Typesetting:-mi( then Typesetting:-mrow(Typesetting:-msup(Typesetting:-mi( x(0) = Typesetting:-mrow(Typesetting:-mi(  x (0).   

 

The remainder of the semester we will be studying the properites of finding the scalars Typesetting:-mrow(Typesetting:-mi(  and a vectors x associated with the Typesetting:-mrow(Typesetting:-mi(.   i.e we want to look at  

A x = Typesetting:-mrow(Typesetting:-mi( x  or  (A -Typesetting:-mrow(Typesetting:-mi() x = 0.   For this to work we will need to have a non-trivial vector x  in the null space of the matrix Typesetting:-mrow(Typesetting:-mi( .  This means the matrix Typesetting:-mrow(Typesetting:-mi( must be a singular matrix.  We then are looking for the values of Typesetting:-mrow(Typesetting:-mi( that will make the matrix singular.  To do this we need the  

det(Typesetting:-mrow(Typesetting:-mi() = 0.  This will give us a polynomial of degree n to solve.  We will now consider a few problems to see how this works. 

 

Example 1.  

> A:=<<1,2>|<2,1>>;
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> I2:=IdentityMatrix(2);
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> p:=Determinant(A-lambda*I2);
 

`+`(`-`(3), `-`(`*`(2, `*`(lambda))), `*`(`^`(lambda, 2)))
 

> solve(p=0,lambda);
 

3, -1
 

> A2:=A-3*I2;
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> n1:=NullSpace(A2);
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> x1:=n1[1];
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> A3:=A+I2;
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> n2:=NullSpace(A3);
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> x2:=n2[1];
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> P:=<x1|x2>;
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> Da:=MatrixInverse(P).A.P;
 

 

Typesetting:-mrow(Typesetting:-mverbatim(
 

Since the first column of P is an eigenvector associated with the eigenvalue -1 then -1 will appear in the 1,1 position of the diagonal matrix.  Next the second column of P is an eigenvector associated with the eigenvalue 3 so 3 appears in the 2,2 position.  Alway be aware of how you build the P matrix and the placement of the eigenvlues on the diagonal.  Later, you may not get the desired results if you do not place the eigenvector in the P matrix in exactly the correct order.   

 

 

Example 2.  

> B:=<<1,3>|<4,2>>;
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> p1:=Determinant(B-lambda*I2);
 

`+`(`-`(10), `-`(`*`(3, `*`(lambda))), `*`(`^`(lambda, 2)))
 

> solve(p1=0,lambda);
 

5, -2
 

> B1:=B-5*I2;
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> NullSpace(B1);
 

Typesetting:-mfenced(Typesetting:-mverbatim(
 

> B2:=B+2*I2;
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> NullSpace(B2);
 

Typesetting:-mfenced(Typesetting:-mverbatim(
 

> p1:=<1,1>;
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> p2:=<-4,3>;
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> P1:=<p1|p2>;
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> DD:=MatrixInverse(P).B.P;
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

An eigenvalue combined with an associated eigenvector is call an eigen pair 

Typesetting:-mrow(Typesetting:-mfenced(Typesetting:-mrow(Typesetting:-mn( is one eigenpair and Typesetting:-mrow(Typesetting:-mfenced(Typesetting:-mrow(Typesetting:-mi( is another eigenpair for this matrix.   

 

The spectrium for the matrix is  Typesetting:-mrow(Typesetting:-mi( and the spectrial radius Typesetting:-mrow(Typesetting:-mi( = max{|5|,|-2|}= 5   

 

Since there are two vectors for each of these we can write any vector in two space as a linear combination of these two eigenvectors.    We need to look at bigger matrices. 

 

Example 3.  

> AA:=<<1,1,1>|<0,2,-1>|<0,-3,0>>;
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> I3:=IdentityMatrix(3);
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> p3:=factor(Determinant(AA-lambda*I3));
 

`+`(`-`(`*`(`+`(`-`(1), lambda), `*`(`+`(lambda, 1), `*`(`+`(lambda, `-`(3)))))))
 

> eigvalues:=solve(p3=0,lambda);
 

1, -1, 3
 

> AA1:=AA+I3;
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> x1:=NullSpace(AA1);
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> AA2:=AA-I3;
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> x2:=NullSpace(AA2);
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> AA3:=AA-3*I3;
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> x3:=NullSpace(AA3);
 

 

Typesetting:-mrow(Typesetting:-mverbatim(
 

The problem with x1, x2, x3 above is that they are lists and not values.  The {{ is the problem.  The following command is the way to get to the vector which we need to use.  

> p1:=x1[1];
 

 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> p2:=x2[1];
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> p3:=x3[1];
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> P3:=<p1|p2|p3>;
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> D3:=MatrixInverse(P3).AA.P3;
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

Eigenvectors for distince eigenvectors are always linearly independent.  If we have three distince eigenvalues then we can find three linearly independent eigenvectors.  

The eigenvalues and hence the eigenvectors do not have to be real as the following example will illustrate.  What is the spectruim and spectrial radius of this matrix.   

Also, list eigenpars 

 

 

Example 4.  

 

> E:=<<1,2>|<-4,1>>;
 

>
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> p:=Determinant(E-lambda*I2);
 

`+`(9, `-`(`*`(2, `*`(lambda))), `*`(`^`(lambda, 2)))
 

> lambda:=(2 + sqrt(4-4*9*1))/2;
 

`+`(1, `*`(`*`(2, `*`(I)), `*`(`^`(2, `/`(1, 2)))))
 

> lambda2:=(2-sqrt(4-4*9*1))/2;
 

`+`(1, `-`(`*`(`+`(`*`(2, `*`(I))), `*`(`^`(2, `/`(1, 2))))))
 

Need to look for the null space Typesetting:-mrow(Typesetting:-mi(
  
 

> EI2:=E-lambda*I2;
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

Facts about complex numbers  

1.  (a+bi)(c+di)=ac-bd + (ad+cb)i 

2.  (a+bi)(a-bi)=Typesetting:-mrow(Typesetting:-mi(
3.  |a+bi| = Typesetting:-mrow(Typesetting:-mi(
4.  Typesetting:-mrow(Typesetting:-mfrac(Typesetting:-mrow(Typesetting:-mi(  = Typesetting:-mrow(Typesetting:-mfrac(Typesetting:-mrow(Typesetting:-mfenced(Typesetting:-mrow(Typesetting:-mi( = Typesetting:-mrow(Typesetting:-mfrac(Typesetting:-mrow(Typesetting:-mi(  + Typesetting:-mrow(Typesetting:-mfrac(Typesetting:-mrow(Typesetting:-mfenced(Typesetting:-mrow(Typesetting:-mi(
Let us return gauss elimination of the matrix EI2
 

We will have to use the with(linalg): package here since I want to use the addrow command 

 

> with(linalg):
 

> EI21:=addrow(EI2,1,2,1/(sqrt(2)*I));
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

This shows that the two rows are proportional even though they do not look like it.   

 

> EI22:=mulrow(EI21,1,-1/2);
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

We see that an eigen vector is therefore  (1,Typesetting:-mrow(Typesetting:-mi( ) 

 

For the eigenvaule Typesetting:-mrow(Typesetting:-mi(  the eigenvector will obey (1,Typesetting:-mrow(Typesetting:-mfrac(Typesetting:-mrow(Typesetting:-mn( ) .  You should check these results.   

List all the eigenpairs and also list the spectrium and spectrial radius for the matrix E. 

 

What is ment by |Typesetting:-mrow(Typesetting:-mi( | = Typesetting:-mrow(Typesetting:-msqrt(Typesetting:-mrow(Typesetting:-mn( = 3  Look at the spectrail radius in the complex plane. 

Look at the figure.   

Example 5.     

 

 

> restart:
 

> with(LinearAlgebra):
 

> F:=<<1/2,1/2>|<1/4,3/4>>;
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> I2:=IdentityMatrix(2);
 

Typesetting:-mrow(Typesetting:-mverbatim( (1.1)
 

> EiF:=Determinant(F-lambda*I2);
 

`+`(`/`(1, 4), `-`(`*`(`/`(5, 4), `*`(lambda))), `*`(`^`(lambda, 2)))
 

> P:=solve(EiF=0,lambda);
 

1, `/`(1, 4) (1.2)
 

> lambda[1]:=P[1];
 

1
 

> lambda[2]:=P[2];
 

`/`(1, 4)
 

> p1:=NullSpace(F-lambda[1]*I2)[1];
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> p2:=NullSpace(F-lambda[2]*I2)[1];
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

The [1] after the NullSpace command above will give you a vector not a list.   

> P:=<p1|p2>;
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> DF:=DiagonalMatrix(<lambda[1],lambda[2]>);
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> P.DF.MatrixInverse(P);
 

Matrix(%id = 1349736)
 

If we want to find the steady state of Typesetting:-mrow(Typesetting:-mi(  and take the limit as n goes to infinity.  Let Typesetting:-mrow(Typesetting:-msub(Typesetting:-mi( be the matrix Typesetting:-mrow(Typesetting:-mfenced(Typesetting:-mrow(Typesetting:-mi(.  Notice that Typesetting:-mrow(Typesetting:-mi(.    As we can see the entry 1/4 on the diagonal goes to zero very quickly so the steady state will be the following product 

 

> DFS:=DiagonalMatrix(<1,0>);
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

> Steadystate:=P.DFS.MatrixInverse(P).<30,20>;
 

Typesetting:-mrow(Typesetting:-mverbatim(
 

Let us look at the matrix before we multiplied by the vector [30,20].  

> P.DFS.MatrixInverse(P);
 

Matrix(%id = 1362492)
 

The last operation was not necessary but does allow you to see what happens before you multiply by the initial value. 

 

Exercises 3.1  

Exercise 3.1.2 (a), (d)  Exercise 3.1.4 (b),(g),  Exercise 3.1.6(e),  Exercise 3.1.8, Exercise 3.1.13 (To write the vector matrix equations for this problem look at Example 3.10.  Do not work the problem in the same way as Example 3.10  but use the eigenvalues and eigenvectors).  .  Due Nov 10, 2008  You are not to use the eigenvalue or eigenvects command from Maple on this set of exercises.  Follow the steps in the currect lecture to find the eigenvalues, eigenvectors and the P matrices.   The work sheets can be e-mailed me or you can hand in a hard copy.   

 

 

>
 

>