# SuanShu, a Java numerical and statistical library

com.numericalmethod.suanshu.algebra.linear.matrix.doubles.factorization.eigen

## Class InverseIteration

• java.lang.Object
• com.numericalmethod.suanshu.algebra.linear.matrix.doubles.factorization.eigen.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.
• 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.
• ### Nested Class Summary

Nested Classes
Modifier and Type Class and Description
static interface  InverseIteration.StoppingCriterion
This interface defines the convergence criterion.
• ### Constructor Summary

Constructors
Constructor and Description
InverseIteration(Matrix A, double lambda)
Construct an instance of InverseIteration to find the corresponding eigenvector.
InverseIteration(Matrix A, double lambda, InverseIteration.StoppingCriterion criterion)
Construct an instance of InverseIteration to find the corresponding eigenvector.
• ### Method Summary

All Methods
Modifier and Type Method and Description
Vector getEigenVector()
Get an eigenvector.
Vector getEigenVector(Vector v0, int maxIterations)
Get an eigenvector from an initial guess.
• ### Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
• ### 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