Wikipedia / Inverse iteration
Wikipedia / Inverse iteration
In numerical analysis, inverse iteration (also known as the inverse power method) is an iterative eigenvalue algorithm. It allows one to find an approximate eigenvector when an approximation to a corresponding eigenvalue is already known. The method is conceptually similar to the power method. It appears to have originally been developed to compute resonance frequencies in the field of structural mechanics.
for the eigenvalue corresponding to the desired eigenvector, either a randomly selected vector or an approximation to the eigenvector. The method is described by the iteration
are discussed below.
and normalized. It is exactly the same formula as in the power method can lead to slow convergence or to the convergence to an eigenvector other than the one desired. In practice, the method is used when a good approximation for the eigenvalue is known, and hence one needs only few (quite often just one) iterations.
Theory and convergence
The basic idea of the power iteration (either an eigenvector approximation or a random. Except for a set of zero measure, for any initial vector, the result will converge to an eigenvector corresponding to the dominant eigenvalue.
are the same, since
Conclusion
since they are inversely related.
Speed of convergence
Let us analyze the rate of convergence of the method.
The power method is known to converge linearly to the limit, more precisely:
hence for the inverse iteration method similar result sounds as:
will be small enough, then very few iterations may be satisfactory.
Complexity
The inverse iteration algorithm requires solving a linear system operations.
Implementation options
The method is defined by the formula:
There are, however, multiple options for its implementation.
Calculate inverse matrix or solve system of linear equations
and then apply it to the vector. Both options have complexity O(n3), the exact number depends on the chosen method.
The choice depends also on the number of iterations. Naively, if at each iteration one solves a linear system, the complexity will be kO(n3), where k is number of iterations; similarly, calculating the inverse matrix and applying it at each iteration is of complexity kO(n3 remains constant, then we may reduce the complexity to O(n3) + kO(n2) with either method. Calculating the inverse matrix once, and storing it to apply at each iteration is of complexity O(n3) + kO(n2). Storing an LU decomposition and using forward and back substitution to solve the system of equations at each iteration is also of complexity O(n3) + kO(n2).
Inverting the matrix will typically have a greater initial cost, but lower cost at each iteration. Conversely, solving systems of linear equations will typically have a lesser initial cost, but require more operations for each iteration.
Tridiagonalization, Hessenberg formHessenberg form
If it is necessary to perform many iterations (or few iterations, but for many eigenvectors), then it might be wise to bring the matrix to the upper Hessenberg form first (for symmetric matrix this will be tridiagonal form arithmetic operations using a technique based on Householder reduction), with a finite sequence of orthogonal similarity transforms, somewhat like a two-sided QR decomposition. (For QR decomposition, the Householder rotations are multiplied only on the left, but for the Hessenberg case they are multiplied on both left and right.) For symmetric matrices arithmetic operations using a technique based on Householder reduction.
Solution of the system of linear equations for the tridiagonal matrix is the iteration number, which is better than for the direct inversion. However, for few iterations such transformation may not be practical.
Also transformation to the Hessenberg form involves square roots and the division operation, which are not universally supported by hardware.
Choice of the normalization constant Ck
On general purpose processors (e.g. produced by Intel) the execution time of addition, multiplication and division is approximately equal. But on embedded and/or low energy consuming hardware (digital signal processors, FPGA, ASIC allows fast division without explicit hardware support, as division by a power of 2 may be implemented as either a bit shift (for fixed-point arithmetic from the exponent (for floating-point arithmetic).
When implementing the algorithm using fixed-point arithmetic and to overflow to tend toward zero.
Usage
The main application of the method is the situation when an approximation to an eigenvalue is found and one needs to find the corresponding approximate eigenvector. In such a situation the inverse iteration is the main and probably the only method to use.
Methods to find approximate eigenvalues
Typically, the method is used in combination with some other method which finds approximate eigenvalues: the standard example is the bisection eigenvalue algorithm, another example is the Rayleigh quotient iteration, which is actually the same inverse iteration with the choice of the approximate eigenvalue as the Rayleigh quotient corresponding to the vector obtained on the previous step of the iteration.
There are some situations where the method can be used by itself, however they are quite marginal.
Norm of matrix as approximation to the dominant eigenvalue
The dominant eigenvalue can be easily estimated for any matrix. For any induced norm. So taking the norm of the matrix as an approximate eigenvalue one can see that the method will converge to the dominant eigenvector.
Estimates based on statistics
In some real-time applications one needs to find eigenvectors for matrices with a speed of millions of matrices per second. In such applications, typically the statistics of matrices is known in advance and one can take as an approximate eigenvalue the average eigenvalue for some large matrix sample. Better, one may calculate the mean ratio of the eigenvalues to the trace or the norm of the matrix and estimate the average eigenvalue as the trace or norm multiplied by the average value of that ratio. Clearly such a method can be used only with discretion and only when high precision is not critical. This approach of estimating an average eigenvalue can be combined with other methods to avoid excessively large error.