SuanShu, a Java numerical and statistical library

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

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

public class InverseIteration
extends 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.

See Also:

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

Copyright © 2012 Numerical Method Inc. Ltd. All Rights Reserved.