SuanShu, a Java numerical and statistical library

## com.numericalmethod.suanshu.matrix.doubles.factorization.eigen Class InverseIteration

java.lang.Object
com.numericalmethod.suanshu.matrix.doubles.factorization.eigen.InverseIteration


public class InverseIterationextends java.lang.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
static interface InverseIteration.StoppingCriterion
This interface defines the convergence criterion.

Constructor Summary
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
 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

SuanShu, a Java numerical and statistical library