Class InverseIteration
- java.lang.Object
-
- dev.nm.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.- 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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
InverseIteration.StoppingCriterion
This interface defines the convergence criterion.
-
Constructor Summary
Constructors Constructor 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 Instance Methods Concrete Methods Modifier and Type Method Description Vector
getEigenVector()
Get an eigenvector.Vector
getEigenVector(Vector v0, int maxIterations)
Get an eigenvector from an initial guess.
-
-
-
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 matrixlambda
- an eigenvaluecriterion
- a convergence criterion
-
InverseIteration
public InverseIteration(Matrix A, double lambda)
Construct an instance of InverseIteration to find the corresponding eigenvector.- Parameters:
A
- a matrixlambda
- 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 eigenvectormaxIterations
- the maximum number of iterations, e.g., 10- Returns:
- an approximate eigenvector
-
getEigenVector
public Vector getEigenVector()
Get an eigenvector.- Returns:
- an approximate eigenvector
-
-