Class InverseIteration


  • public class InverseIteration
    extends Object
    Inverse iteration is an iterative eigenvalue algorithm. It finds an approximate eigenvector when an approximation to an eigenvalue is already known. Inverse iteration does not apply when λ is the exact eigenvalue because (A - λI) is singular.
    See Also:
    • Wikipedia: Inverse iteration
    • "G. H. Golub, C. F. van Loan, "Section 2.4.1," Matrix Computations, 3rd edition."
    • COMPUTING AN EIGENVECTOR WITH INVERSE ITERATION, ILSE C. F. IPSEN.
    • Constructor Detail

      • InverseIteration

        public InverseIteration​(Matrix A,
                                double lambda,
                                InverseIteration.StoppingCriterion criterion)
        Construct an instance of InverseIteration to find the corresponding eigenvector.
        Parameters:
        A - a matrix
        lambda - an eigenvalue
        criterion - a convergence criterion
      • InverseIteration

        public InverseIteration​(Matrix A,
                                double lambda)
        Construct an instance of InverseIteration to find the corresponding eigenvector.
        Parameters:
        A - a matrix
        lambda - an eigenvalue
    • Method Detail

      • getEigenVector

        public Vector getEigenVector​(Vector v0,
                                     int maxIterations)
        Get an eigenvector from an initial guess.
        Parameters:
        v0 - an initial guess of eigenvector
        maxIterations - the maximum number of iterations, e.g., 10
        Returns:
        an approximate eigenvector
      • getEigenVector

        public Vector getEigenVector()
        Get an eigenvector.
        Returns:
        an approximate eigenvector