Interface EigenDecomposition
-
- All Known Implementing Classes:
EigenDecompositionImpl
public interface EigenDecomposition
An interface to classes that implement an algorithm to calculate the eigen decomposition of a real matrix.The eigen decomposition of matrix A is a set of two matrices: V and D such that A = V × D × VT. A, V and D are all m × m matrices.
This interface is similar in spirit to the
EigenvalueDecomposition
class from the JAMA library, with the following changes:- a
getVt
method has been added, - two
getRealEigenvalue
andgetImagEigenvalue
methods to pick up a single eigenvalue have been added, - a
getEigenvector
method to pick up a single eigenvector has been added, - a
getDeterminant
method has been added. - a
getSolver
method has been added.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description RealMatrix
getD()
Returns the block diagonal matrix D of the decomposition.double
getDeterminant()
Return the determinant of the matrixRealVector
getEigenvector(int i)
Returns a copy of the ith eigenvector of the original matrix.double
getImagEigenvalue(int i)
Returns the imaginary part of the ith eigenvalue of the original matrix.double[]
getImagEigenvalues()
Returns a copy of the imaginary parts of the eigenvalues of the original matrix.double
getRealEigenvalue(int i)
Returns the real part of the ith eigenvalue of the original matrix.double[]
getRealEigenvalues()
Returns a copy of the real parts of the eigenvalues of the original matrix.DecompositionSolver
getSolver()
Get a solver for finding the A × X = B solution in exact linear sense.RealMatrix
getV()
Returns the matrix V of the decomposition.RealMatrix
getVT()
Returns the transpose of the matrix V of the decomposition.
-
-
-
Method Detail
-
getV
RealMatrix getV()
Returns the matrix V of the decomposition.V is an orthogonal matrix, i.e. its transpose is also its inverse.
The columns of V are the eigenvectors of the original matrix.
No assumption is made about the orientation of the system axes formed by the columns of V (e.g. in a 3-dimension space, V can form a left- or right-handed system).
- Returns:
- the V matrix
-
getD
RealMatrix getD()
Returns the block diagonal matrix D of the decomposition.D is a block diagonal matrix.
Real eigenvalues are on the diagonal while complex values are on 2x2 blocks { {real +imaginary}, {-imaginary, real} }.
- Returns:
- the D matrix
- See Also:
getRealEigenvalues()
,getImagEigenvalues()
-
getVT
RealMatrix getVT()
Returns the transpose of the matrix V of the decomposition.V is an orthogonal matrix, i.e. its transpose is also its inverse.
The columns of V are the eigenvectors of the original matrix.
No assumption is made about the orientation of the system axes formed by the columns of V (e.g. in a 3-dimension space, V can form a left- or right-handed system).
- Returns:
- the transpose of the V matrix
-
getRealEigenvalues
double[] getRealEigenvalues()
Returns a copy of the real parts of the eigenvalues of the original matrix.- Returns:
- a copy of the real parts of the eigenvalues of the original matrix
- See Also:
getD()
,getRealEigenvalue(int)
,getImagEigenvalues()
-
getRealEigenvalue
double getRealEigenvalue(int i)
Returns the real part of the ith eigenvalue of the original matrix.- Parameters:
i
- index of the eigenvalue (counting from 0)- Returns:
- real part of the ith eigenvalue of the original matrix
- See Also:
getD()
,getRealEigenvalues()
,getImagEigenvalue(int)
-
getImagEigenvalues
double[] getImagEigenvalues()
Returns a copy of the imaginary parts of the eigenvalues of the original matrix.- Returns:
- a copy of the imaginary parts of the eigenvalues of the original matrix
- See Also:
getD()
,getImagEigenvalue(int)
,getRealEigenvalues()
-
getImagEigenvalue
double getImagEigenvalue(int i)
Returns the imaginary part of the ith eigenvalue of the original matrix.- Parameters:
i
- index of the eigenvalue (counting from 0)- Returns:
- imaginary part of the ith eigenvalue of the original matrix
- See Also:
getD()
,getImagEigenvalues()
,getRealEigenvalue(int)
-
getEigenvector
RealVector getEigenvector(int i)
Returns a copy of the ith eigenvector of the original matrix.- Parameters:
i
- index of the eigenvector (counting from 0)- Returns:
- copy of the ith eigenvector of the original matrix
- See Also:
getD()
-
getDeterminant
double getDeterminant()
Return the determinant of the matrix- Returns:
- determinant of the matrix
-
getSolver
DecompositionSolver getSolver()
Get a solver for finding the A × X = B solution in exact linear sense.- Returns:
- a solver
-
-