An eigenvalue and eigenvector of a square matrix A are, respectively, a scalar λ and a nonzero vector υ that satisfy
Aυ = λυ.
With the eigenvalues on the diagonal of a diagonal matrix Λ and the corresponding eigenvectors forming the columns of a matrix V, you have
AV = VΛ.
If V is nonsingular, this becomes the eigenvalue decomposition
A = VΛV^{–1}.
A good example is provided by the coefficient matrix of the ordinary differential equation in the previous section:
A = 0 -6 -1 6 2 -16 -5 20 -10
The statement
lambda = eig(A)
produces a column vector containing the eigenvalues. For this matrix, the eigenvalues are complex:
lambda = -3.0710 -2.4645+17.6008i -2.4645-17.6008i
The real part of each of the eigenvalues is negative, so e^{λt} approaches zero as t increases. The nonzero imaginary part of two of the eigenvalues, ±ω, contributes the oscillatory component, sin(ωt), to the solution of the differential equation.
With two output arguments, eig
computes the
eigenvectors and stores the eigenvalues in a diagonal matrix:
[V,D] = eig(A) V = -0.8326 0.2003 - 0.1394i 0.2003 + 0.1394i -0.3553 -0.2110 - 0.6447i -0.2110 + 0.6447i -0.4248 -0.6930 -0.6930 D = -3.0710 0 0 0 -2.4645+17.6008i 0 0 0 -2.4645-17.6008i
The first eigenvector is real and the other two vectors are
complex conjugates of each other. All three vectors are normalized
to have Euclidean length, norm(v,2)
, equal to one.
The matrix V*D*inv(V)
, which can be written
more succinctly as V*D/V
, is within round-off error
of A
. And, inv(V)*A*V
, or V\A*V
,
is within round-off error of D
.
Some matrices do not have an eigenvector decomposition. These matrices are not diagonalizable. For example:
A = [ 6 12 19 -9 -20 -33 4 9 15 ]
For this matrix
[V,D] = eig(A)
produces
V = -0.4741 -0.4082 -0.4082 0.8127 0.8165 0.8165 -0.3386 -0.4082 -0.4082 D = -1.0000 0 0 0 1.0000 0 0 0 1.0000
There is a double eigenvalue at λ =
1. The second and third columns of V
are the same.
For this matrix, a full set of linearly independent eigenvectors does
not exist.
The MATLAB^{®} advanced matrix computations do not require eigenvalue decompositions. They are based, instead, on the Schur decomposition
A = USU′.
where U is an orthogonal matrix and S is a block upper triangular matrix with 1-by-1 and 2-by-2 blocks on the diagonal. The eigenvalues are revealed by the diagonal elements and blocks of S, while the columns of U provide a basis with much better numerical properties than a set of eigenvectors. The Schur decomposition of this defective example is
[U,S] = schur(A) U = -0.4741 0.6648 0.5774 0.8127 0.0782 0.5774 -0.3386 -0.7430 0.5774 S = -1.0000 20.7846 -44.6948 0 1.0000 -0.6096 0 0 1.0000
The double eigenvalue is contained in the lower 2-by-2 block
of S
.
Note:
If |