12.4. The Solution to the Eigenvalue Problem¶
The eig
function in MATLAB is quite complex. It looks at the data
and performs pre-conditioning transformations to make the computation
faster. It uses different algorithms to compute the eigenvalues
depending on the size and relationships of the values in the matrix.
Obviously, it does not find the eigenvalues by finding the roots of the
characteristic polynomial, i.e., find the s that
satisfy the equation
.
We will offer only minor comments about the exact algorithms
used by MATLAB’s eig
function. Our focus is on the algorithmic
foundations of modern numerical analysis software.
Although several algorithms exist for finding eigenvalues, we will focus on two
orthogonal iterative algorithms that are fairly simple yet well-known for
quickly finding accurate eigenvalues. These algorithms were developed by John
Francis, whom we introduced in Introduction. The second algorithm,
which we call the Francis algorithm establishes the foundation for
eigensystem solutions in modern software such as MATLAB. The eig
function
in MATLAB uses the QZ algorithm for dense matrices. QZ finds the generalized
eigendecomposition that finds the factorization
.
If matrix is an identity matrix, then
we have the more common eigenvalue problem we discussed. Indeed, the QZ is an
extension of the Francis algorithm. Although not as closely related, the
Krylov algorithm used with sparse matrices, [1] is also derivative of the
Francis algorithm [WATKINS11].
We will first review the power method that finds only the largest eigenvalue of a matrix. Then, we will focus on the orthogonal solutions that find all the eigenvalues. There are two reasons to mention the power method here. First, some problems only need the largest eigenvalue [2]. Secondly, the power method has theoretical relevance to why the QR and Francis algorithms converge (Convergence by Similarity Transforms).
[1] | Problems related to artificial intelligence and machine learning make use of sparse matrices, which are huge matrices dominated by zeros. |
[2] | Google’s page rank algorithm only uses the largest eigenvalue and its corresponding eigenvector. |
- 12.4.1. The Power Method
- 12.4.2. Similarity Transformations
- 12.4.3. Direct Algorithms
- 12.4.4. Eigenvectors Following the Schur Decomposition
- 12.4.5. Iterative QR Algorithm
- 12.4.6. Schur Decomposition by the Iterative Francis Algorithm
- 12.4.7. Convergence by Similarity Transforms
- 12.4.8. Eigendecompostion from the Schur Triangular Form