#include <itkSymmetricEigenDecomposition.h>
Stored eigendecomposition of a real symmetric matrix, Eigen-backed.
Computes A = V D V^T for symmetric A in the constructor and stores the result. Eigenvalues (D) are real and ascending; the columns of V are the orthonormal eigenvectors, sign-canonicalized (each column's largest-magnitude entry is positive) for cross-platform reproducibility. The public V / D members and the get_eigenvector / get_eigenvalue accessors mirror the legacy vnl_symmetric_eigensystem layout, so its call sites port by changing only the type name, with no Eigen type in the interface.
This is the supported Eigen-backed replacement for the now-deprecated vnl_symmetric_eigensystem (netlib EISPACK rs), which emits a deprecation warning under ITK_LEGACY_REMOVE and is removed under ITK_FUTURE_LEGACY_REMOVE.
Definition at line 60 of file itkSymmetricEigenDecomposition.h.
Public Member Functions | |
| T | get_eigenvalue (int i) const |
| vnl_vector< T > | get_eigenvector (int i) const |
| vnl_vector< T > | nullvector () const |
| vnl_matrix< T > | recompose () const |
| SymmetricEigenDecomposition (const vnl_matrix< T > &M, bool canonicalizeSigns=true) | |
Public Attributes | |
| vnl_diag_matrix< T > | D |
| vnl_matrix< T > | V |
|
inlineexplicit |
Compute the decomposition of symmetric M. With canonicalizeSigns (the default) each eigenvector column's largest-magnitude entry is made positive for cross-platform reproducibility; pass false to keep the solver's raw signs.
Definition at line 67 of file itkSymmetricEigenDecomposition.h.
References itk::detail::CanonicalizeEigenvectorColumnSigns(), D, itk::detail::EigenComputationInfoString(), and V.
|
inline |
Recover the i-th eigenvalue.
Definition at line 108 of file itkSymmetricEigenDecomposition.h.
References D.
Referenced by itk::VectorGradientMagnitudeImageFilter< TInputImage, TRealType, TOutputImage >::EvaluateAtNeighborhood().
|
inline |
Recover the i-th eigenvector (column i of V).
Definition at line 101 of file itkSymmetricEigenDecomposition.h.
References V.
|
inline |
Least-squares nullvector: eigenvector of the smallest eigenvalue.
Definition at line 115 of file itkSymmetricEigenDecomposition.h.
References V.
|
inline |
Reconstruct V D V^T (useful after modifying D).
Definition at line 122 of file itkSymmetricEigenDecomposition.h.
| vnl_diag_matrix<T> itk::SymmetricEigenDecomposition< T >::D |
Eigenvalues in increasing order, stored as a diagonal matrix.
Definition at line 97 of file itkSymmetricEigenDecomposition.h.
Referenced by get_eigenvalue(), recompose(), and SymmetricEigenDecomposition().
| vnl_matrix<T> itk::SymmetricEigenDecomposition< T >::V |
Eigenvectors as columns, sorted by increasing eigenvalue.
Definition at line 94 of file itkSymmetricEigenDecomposition.h.
Referenced by get_eigenvector(), nullvector(), recompose(), and SymmetricEigenDecomposition().