Interface EigenDecomposition
- All Known Implementing Classes:
EigenDecompositionImpl
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.
- Since:
- 2.0
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiongetD()
Returns the block diagonal matrix D of the decomposition.double
Return the determinant of the matrixgetEigenvector
(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[]
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[]
Returns a copy of the real parts of the eigenvalues of the original matrix.Get a solver for finding the A × X = B solution in exact linear sense.getV()
Returns the matrix V of the decomposition.getVT()
Returns the transpose of the matrix V of the decomposition.
-
Method Details
-
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:
-
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:
-
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:
-
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:
-
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:
-
getEigenvector
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:
-
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
-