3.5 Special Cases: Repeated and Zero Eigenvalues
October 26, 1998
| > | with(DEtools):with(linalg): |
Warning, new definition for adjoint
Warning, new definition for norm
Warning, new definition for trace
Repeated Eigenvalues
The exponential of a matrix
The function exp does not give the exponential of a matrix. The command to issue is exponential.
| > | A := matrix(2,2,[[3,2],[-1,5]]); |
| > | evalm(exp(A)); |
| > | exponential(A); |
Note that exp simply takes the exponential of each entry. Where do the trigonometric functions in
come from? Well,
| > | eigenvalues(A); |
The exponential of
will involve the exponential of its eigenvalues, and in this case,
| > | evalc(exp(4+I)); |
Using the matrix exponential to solve planar systems
The mantra is that the solution of the constant coefficient two-dimensional linear initial value problem
| > | sys:={diff(x(t),t)=a*x(t)+b*y(t),diff(y(t),t)=c*x(t)+d*y(t),
x(0)=k1,y(0)=k2}; |
is obtained taking the coefficient matrix
| > | A := matrix(2,2,[[a,b],[c,d]]); |
multiplying by
, exponentiating
| > | B := exponential(t*A); |
and then multiplying by the initial data
| > | answer := evalm(B&*vector(2,[k1,k2])); |
Example
Let's take the matrix we started with as the coefficient matrix,
| > | A := matrix(2,2,[[3,2],[-1,5]]); |
and initial data
,
. The solution is then
| > | examplesolution := evalm(exponential(t*A)&*vector(2,[3,-2])); |
Of course, it is a little silly to get Maple to do it this way, when we have dsolve around.
| > | exampleanswer := dsolve({D(x)(t)=3*x(t)+2*y(t),D(y)(t)=-x(t)+5*y(t),
x(0)=3,y(0)=-2},{x(t),y(t)}); |
Which is the same thing, after all.
There are reasons to use the exponential. For example, if one wanted the solutions for many different initial values, but the same coefficient matrix, using the exponential may save time. (Not that it takes that long.) Or, if one had the matrix and the initial values and didn't want to type in the dsolve command.
What happens with repeated eigenvalues
If the matrix
has repeated eigenvalues, the exponential of
simplifies to
. For example:
| > | A := matrix(2,2,[[7,3],[-3,1]]);
eigenvalues(A); |
| > | exponential(t*A);
evalm(exp(4*t)*(array(identity,1..2,1..2)+t*(A-4*array(identity,1..2,1..2)))); |
Pictures of phase planes for planar systems with repeated eigenvalues
Example 1
Let's start with
| > | A := matrix(2,2,[[7,3],[-3,1]]); |
which has eigenvectors
| > | eigenvectors(A); |
| > | phaseportrait({D(x)(t)=7*x(t)+3*y(t),D(y)(t)=-3*x(t)+y(t)},
[x(t),y(t)],t=-1..0.25, [[x(0)=0,y(0)=1],[x(0)=0,y(0)=-1],[x(0)=1,y(0)=0],[x(0)=-1,y(0)=0], [x(0)=-1,y(0)=1],[x(0)=1,y(0)=-1]]); |
![[Plot]](mth3060305m9_images/mth3060305m9_25.gif)
All the solutions leave the origin tangent to the eigendirection.
Example 2
| > | B := matrix(2,2,[[-1,-2],[2,-5]]); |
| > | eigenvectors(B); |
| > | phaseportrait({D(x)(t)=-x(t)-2*y(t),D(y)(t)=2*x(t)-5*y(t)},
[x(t),y(t)],t=-0.33..1, [[x(0)=0,y(0)=1],[x(0)=0,y(0)=-1],[x(0)=1,y(0)=0],[x(0)=-1,y(0)=0], [x(0)=1,y(0)=1],[x(0)=-1,y(0)=-1]]); |
![[Plot]](mth3060305m9_images/mth3060305m9_28.gif)
All solutions approach the origin along the eigendirections. Note that the side of the eigenline that the solution approaches the origin on depends only on which side of the eigenline the solution is on. Note that the picture changes very little if we change the matrix very little.
| > | phaseportrait({D(x)(t)=-x(t)-2*y(t),D(y)(t)=2*x(t)-5.01*y(t)},
[x(t),y(t)],t=-0.33..1, [[x(0)=0,y(0)=1],[x(0)=0,y(0)=-1],[x(0)=1,y(0)=0],[x(0)=-1,y(0)=0], [x(0)=1,y(0)=1],[x(0)=-1,y(0)=-1]]); |
![[Plot]](mth3060305m9_images/mth3060305m9_29.gif)
In this case, however, we have distinct eigenvalues:
| > | eigenvectors(matrix(2,2,[[-1,-2],[2,-5.01]])); |
Here, all solutions approach the origin tangent to the second of these eigenvectors, but which side they approach on depends on which quadrant of the eigenvector system they start in. It is hard to see that behavior in the picture since the eigendirections are so close to each other.
Zero Eigenvalues
These systems we can solve analytically as we did before. The difference is that there will be non-zero, constant solutions corresponding to eigenvectors with eigenvalue zero. This makes the qualitative behavior different.
One zero, one non-zero eigenvalue
The eigenvector with eigenvalue zero in the example below is (1,-1). All multiples of it are equilibrium points. The other eigenvalue is 2, so all solutions move away from that line.
| > | phaseportrait({D(x)(t)=x(t)+y(t),D(y)(t)=x(t)+y(t)},
[x(t),y(t)],t=-1..0.5, [[x(0)=0,y(0)=1],[x(0)=0,y(0)=-1],[x(0)=1,y(0)=0],[x(0)=-1,y(0)=0], [x(0)=1,y(0)=-1],[x(0)=-1,y(0)=1]]); |
![[Plot]](mth3060305m9_images/mth3060305m9_31.gif)
Two zero eigenvalues, not the zero matrix
Here is another repeated eigenvalue example.
| > | phaseportrait({D(x)(t)=3*x(t)+3*y(t),D(y)(t)=-3*x(t)-3*y(t)},
[x(t),y(t)],t=-1..4., [[x(0)=0,y(0)=1],[x(0)=0,y(0)=-1],[x(0)=0,y(0)=2],[x(0)=0,y(0)=-2], [x(0)=1,y(0)=-1],[x(0)=-1,y(0)=1]]); |
![[Plot]](mth3060305m9_images/mth3060305m9_32.gif)
The solutions here are lines parallel to the eigendirections.
| > | dsolve({D(x)(t)=3*x(t)+3*y(t),D(y)(t)=-3*x(t)-3*y(t)},{x(t),y(t)}); |