EIGENVALUE ALGORITHM


In linear algebra, one of the most important problems is designing efficient and stable algorithms for finding the eigenvalues of a matrix. These 'eigenvalue algorithms' may also find eigenvectors.

Contents
Characteristic polynomial
Power iteration
Matrix eigenvalues
Types
Eigenvalues of 2×2 matrices
Eigenvalues of 3×3 matrices
Eigenvalues and eigenvectors of special matrices
Example computation
Identifying eigenvalues
Identifying eigenvectors
Advanced methods

Characteristic polynomial


Given a square matrix ''A'', an eigenvalue λ and its associated eigenvector 'v' are, by definition, a pair such that
:A{old v} = lambda{old v} ,! .
Equivalently, (''A''−λ''I'')'v' = 0, implying det(''A''−λ''I'') = 0. This determinant expands to a polynomial in λ, called the characteristic polynomial of ''A''. One common method for finding the eigenvalues of a small matrix is by finding roots of the characteristic polynomial. This is explained in more detail in the article Symbolic computation of matrix eigenvalues.
Unfortunately, this method has some limitations. A general polynomial of order ''n'' > 4 cannot be solved by a finite sequence of arithmetic operations and radicals (see Abel-Ruffini theorem). There do exist efficient root-finding algorithms for higher order polynomials. However, finding the roots of the characteristic polynomial may be an ill-conditioned problem even when the underlying eigenvalue problem is well-conditioned. For this reason, this method is rarely used.
The above discussion implies a restriction on all eigenvalue algorithms. It can be shown that for any polynomial, there exists a matrix (see companion matrix) having that polynomial as its characteristic polynomial (actually, there are infinitely many). If there did exist a finite sequence of arithmetic operations for exactly finding the eigenvalues of a general matrix, this would provide a corresponding finite sequence for general polynomials, in contradiction of the Abel-Ruffini theorem. Therefore, general eigenvalue algorithms are expected to be iterative.

Power iteration


The basic idea of this method is to choose an (arbitrary) initial vector 'b' and then repeatedly multiply it by the matrix, iteratively calculating ''A'''b', ''A''²'b', ''A''³'b',…. Suppose the eigenvalues are ordered by magnitude, with λ1 being the largest, and with associated eigenvector 'v'1. Then each iteration scales the component of 'b' in the 'v'1 direction by λ1, and every other direction by a smaller amount (assuming |λ2| < |λ1|). Except for a set of measure zero, for any initial vector the result will converge to an eigenvector corresponding to the dominant eigenvalue. In practice, the vector should be normalized after every iteration.
By itself, power iteration is not very useful. Its convergence is slow except for special cases of matrices, and without modification, it can only find the largest or ''dominant'' eigenvalue (and the corresponding eigenvector). However, we can understand a few of the more advanced eigenvalue algorithms as variations of power iteration. In addition, some of the better algorithms for the generalized eigenvalue problem are based on power iteration.
This method can in general be quite slow. It is especially slow if there is an eigenvalue close in magnitude to the dominant eigenvalue.

Matrix eigenvalues


In mathematics, and in particular in linear algebra, an important tool for describing eigenvalues of square matrices is the characteristic polynomial: saying that ''λ'' is an eigenvalue of ''A'' is equivalent to stating that the system of linear equations (''A'' - ''λI'') ''v'' = 0 (where ''I'' is the identity matrix) has a non-zero solution ''v'' (namely an eigenvector), and so it is equivalent to the determinant det (''A'' - ''λI'') being zero. The function ''p''(''λ'') = det (''A'' - ''λI'') is a polynomial in ''λ'' since determinants are defined as sums of products.
This is the 'characteristic polynomial' of ''A'': the eigenvalues of a matrix are the zeros of its characteristic polynomial.
It follows that we can compute all the eigenvalues of a matrix ''A'' by solving the equation p_A(lambda) = 0 .
If ''A'' is an ''n''-by-''n'' matrix, then p_A has degree ''n'' and ''A'' can therefore have at most ''n'' eigenvalues.
Conversely, the fundamental theorem of algebra says that this equation has exactly ''n'' roots (zeroes), counted with multiplicity. All real polynomials of odd degree have a real number as a root, so for odd n, every real matrix has at least one real eigenvalue. In the case of a real matrix, for even and odd ''n'', the non-real eigenvalues come in conjugate pairs.
An example of a matrix with no real eigenvalues is the 90-degree rotation
:egin{bmatrix}0 & 1\ -1 & 0end{bmatrix}
whose characteristic polynomial is x^2+1 and so its eigenvalues are the pair of complex conjugates ''i'', -''i''.
The Cayley-Hamilton theorem states that every square matrix satisfies its own characteristic polynomial, that is, p_A(A) = 0 .
Types

Eigenvalues of 2×2 matrices

An analytic solution for the eigenvalues of 2×2 matrices can be obtained directly from the quadratic formula: if
:A = egin{bmatrix} a & b \ c & d end{bmatrix}
then the characteristic polynomial is
:{
m det} egin{bmatrix} a-lambda & b \ c & d-lambda end{bmatrix}=(a-lambda)(d-lambda)-bc=lambda^2-(a+d)lambda+(ad-bc)
(notice that the coefficients, up to sign, are the trace {
m tr}(A)=a+d and determinant {
m det}(A)=ad-bc so the solutions are
: lambda = rac{a + d}{2} pm sqrt{ rac{(a + d)^2}{4} + bc - ad} = rac{a + d}{2} pm rac{sqrt{4bc + (a - d)^2 }}{2}
Eigenvalues of 3×3 matrices

If
:A = egin{bmatrix} a & b & c \ d & e & f \ g & h & i end{bmatrix}
then the characteristic polynomial of ''A'' is
:det egin{bmatrix} a-lambda & b & c \ d & e-lambda & f \ g & h & i-lambda end{bmatrix}= -lambda^3 + lambda^2 ( a + e + i ) + lambda ( db + gc + fh - ae - ai - ei ) + ( aei - afh - dbi + dch + gbf - gce ).
The eigenvalues of the matrix are the roots of this polynomial, which can be found using the method for solving cubic equations.
A formula for the eigenvalues of a 4x4 matrix could be derived in an analogous way, using the formulae for the solutions of the quartic equation.
Eigenvalues and eigenvectors of special matrices

For matrices satysfying A^2=lpha one can write explicit formulas for the possible eigenvalues and the projectors on the corresponding eigenspaces.
:P_+= rac{1}{2}left(I+ rac{A}{sqrt{lpha}}
ight)
:P_-= rac{1}{2}left(I- rac{A}{sqrt{lpha}}
ight)
with
:AP_+=sqrt{lpha}P_+ quad AP_-=-sqrt{lpha}P_-
and
:P_+P_+=P_+ quad P_-P_-=P_- quad P_+P_-=P_-P_+=0
This provides the following resolution of identity
:I=P_+ + P_-= rac{1}{2}left(I+ rac{A}{sqrt{lpha}}
ight)
+ rac{1}{2}left(I- rac{A}{sqrt{lpha}}
ight)

The multiplicity of the possible eigenvalues is given by the rank of the projectors.
Example computation

The computation of eigenvalue/eigenvector can be realized with the following algorithm.
Consider an n-square matrix ''A''
:1. Find the roots of the characteristic polynomial of ''A''. These are the eigenvalues.
:
★ If n different roots are found, then the matrix can be diagonalized.
:2. Find a basis for the kernel of the matrix given by B-lambda_n I . For each of the eigenvalues. These are the eigenvectors
:
★ The eigenvectors given from different eigenvalues are linearly independent.
:
★ The eigenvectors given from a root-multiplicity are also linearly independent.
Let us determine the eigenvalues of the matrix
:
A = egin{bmatrix}
0 & 1 & -1 \
1 & 1 & 0 \
-1 & 0 & 1
end{bmatrix}

which represents a linear operator 'R'³ → 'R'³.
Identifying eigenvalues

We first compute the characteristic polynomial of ''A'':
:
p(lambda) = det( A - lambda I) =
det egin{bmatrix}
-lambda & 1 & -1 \
1 & 1-lambda & 0 \
-1 & 0 & 1-lambda
end{bmatrix}
= -lambda^3 + 2lambda^2 +lambda - 2.

This polynomial factors to p(lambda) = -(lambda - 2) (lambda - 1) (lambda + 1). Therefore, the eigenvalues of ''A'' are 2, 1 and −1.

Identifying eigenvectors


With the eigenvalues in hand, we can solve sets of simultaneous linear equations to determine the corresponding eigenvectors. Since we are solving for the system (A - lambda I)v = 0,, if lambda = 2 then,
:
egin{bmatrix}
-2 & 1 & -1 \
1 & -1 & 0 \
-1 & 0 & -1
end{bmatrix}
egin{bmatrix}
v_1 \
v_2 \
v_3
end{bmatrix} = 0.

Now, reducing (A - 2I), to row echelon form:
:
egin{bmatrix}
-2 & 1 & -1 \
1 & -1 & 0 \
-1 & 0 & -1
end{bmatrix} o
egin{bmatrix}
1 & 0 & 1 \
0 & 1 & 1 \
0 & 0 & 0
end{bmatrix}

allows us to solve easily for the eigenspace E_2:
:
egin{bmatrix}
1 & 0 & 1 \
0 & 1 & 1 \
0 & 0 & 0
end{bmatrix}
egin{bmatrix}
v_1 \
v_2 \
v_3
end{bmatrix} = 0 o
egin{cases}
v_1 + v_3 = 0 \
v_2 + v_3 = 0
end{cases}
:: o E_2 = {
m span}egin{bmatrix}1 \ 1 \ -1end{bmatrix}.
We can confirm that a simple example vector chosen from eigenspace E_2 is a valid eigenvector with eigenvalue lambda = 2:
: A egin{bmatrix} ; 1 \ ; 1 \ -1 end{bmatrix}
= egin{bmatrix} ; 2 \ ; 2 \ -2 end{bmatrix}
= 2 egin{bmatrix} ; 1 \ ; 1 \ -1 end{bmatrix}

Note that we can determine the degrees of freedom of the solution by the number of pivots.
If ''A'' is a real matrix, the characteristic polynomial will have real coefficients, but its roots will not necessarily all be real. The complex eigenvalues come in pairs which are conjugates. For a real matrix, the eigenvectors of a non-real eigenvalue ''z'' , which are the solutions of (A - zI)v = 0, cannot be real.
If ''v''1, ..., ''v''''m'' are eigenvectors with different eigenvalues λ1, ..., λ''m'', then the vectors ''v''1, ..., ''v''''m'' are necessarily linearly independent.
The spectral theorem for symmetric matrices states that if ''A'' is a real symmetric ''n''-by-''n'' matrix, then all its eigenvalues are real, and there exist ''n'' linearly independent eigenvectors for ''A'' which are mutually orthogonal. Symmetric matrices are commonly encountered in engineering.
Our example matrix from above is symmetric, and three mutually orthogonal eigenvectors of ''A'' are
:v_1 = egin{bmatrix}; 1 \ ;1 \ -1 end{bmatrix},quad v_2 = egin{bmatrix}; 0;\ 1 \ 1 end{bmatrix},quad v_3 = egin{bmatrix}; 2 \ -1 \ ; 1 end{bmatrix}.
These three vectors form a basis of 'R'³. With respect to this basis, the linear map represented by ''A'' takes a particularly simple form: every vector ''x'' in 'R'³ can be written uniquely as
:x = x_1 v_1 + x_2 v_2 + x_3 v_3
and then we have
:A x = 2x_1 v_1 + x_2 v_2 - x_3 v_3.

Advanced methods


A popular method for finding eigenvalues is the QR algorithm, which is based on the QR decomposition. Other advanced methods include:

Inverse iteration

Rayleigh quotient iteration

Arnoldi iteration

Lanczos iteration

Jacobi method

Bisection

Divide-and-conquer
Most eigenvalue algorithms rely on first reducing the matrix A to Hessenberg or tridiagonal form. This is usually accomplished via projections.

This article provided by Wikipedia. To edit the contents of this article, click here for original source.

psst.. try this: add to faves