Interface EigenDecomposition<T extends Matrix>
- All Superinterfaces:
DecompositionInterface<T>
- All Known Subinterfaces:
EigenDecomposition_F32<MatrixType>
,EigenDecomposition_F64<MatrixType>
This is a generic interface for computing the eigenvalues and eigenvectors of a matrix.
Eigenvalues and eigenvectors have the following property:
A*v=λ*v
where A is a square matrix and v is an eigenvector associated with the eigenvalue λ.
In general, both eigenvalues and eigenvectors can be complex numbers. For symmetric matrices the eigenvalues and eigenvectors are always real numbers. EJML does not support complex matrices but it does have minimal support for complex numbers. As a result complex eigenvalues are found, but only the real eigenvectors are computed.
To create a new instance of EigenDecomposition
use DecompositionFactory_XXXX. If the matrix
is known to be symmetric be sure to use the symmetric decomposition, which is much faster and more accurate
than the general purpose one.
-
Method Summary
Modifier and TypeMethodDescriptiongetEigenVector
(int index) Used to retrieve real valued eigenvectors.int
Returns the number of eigenvalues/eigenvectors.Methods inherited from interface org.ejml.interfaces.decomposition.DecompositionInterface
decompose, inputModified
-
Method Details
-
getNumberOfEigenvalues
int getNumberOfEigenvalues()Returns the number of eigenvalues/eigenvectors. This is the matrix's dimension.- Returns:
- number of eigenvalues/eigenvectors.
-
getEigenVector
Used to retrieve real valued eigenvectors. If an eigenvector is associated with a complex eigenvalue then null is returned instead.
- Parameters:
index
- Index of the eigenvalue eigenvector pair.- Returns:
- If the associated eigenvalue is real then an eigenvector is returned, null otherwise.
-