Functions | |
| template<typename TMatrixU, typename TMatrixV> | |
| void | CanonicalizeColumnSignsPaired (TMatrixU &u, TMatrixV &paired) |
| template<typename T> | |
| void | CanonicalizeEigenvectorColumnSigns (vnl_matrix< T > &V) |
| const char * | EigenComputationInfoString (Eigen::ComputationInfo info) |
| void itk::bridge::detail::CanonicalizeColumnSignsPaired | ( | TMatrixU & | u, |
| TMatrixV & | paired ) |
Same canonicalization as CanonicalizeEigenvectorColumnSigns, applied to u, with the identical per-column flip mirrored onto paired so a factor pair (e.g. the U and V of an SVD) stays consistent. Templated on the matrix types so it serves vnl_matrix and vnl_matrix_fixed, including pairs of distinct fixed types (a rectangular SVD's U and V); the sign is well-defined only when the leading per-column magnitude is unambiguous (distinct singular values).
Definition at line 63 of file itkBridgeEigenDecompositionSignConvention.h.
Referenced by itk::bridge::Math::SVD(), itk::bridge::Math::SVD(), and itk::bridge::Math::SVD().
| void itk::bridge::detail::CanonicalizeEigenvectorColumnSigns | ( | vnl_matrix< T > & | V | ) |
Canonicalize the sign of every eigenvector column of V so that its largest-magnitude entry is positive (tie-break by lowest row index). An eigenvector's sign is mathematically arbitrary and otherwise depends on solver internals and SIMD width; pinning it this way makes a real-valued eigendecomposition bit-reproducible across platforms.
Definition at line 34 of file itkBridgeEigenDecompositionSignConvention.h.
Referenced by itk::bridge::GeneralizedEigenDecomposition< TReal >::GeneralizedEigenDecomposition(), and itk::bridge::SymmetricEigenDecomposition< T >::SymmetricEigenDecomposition().
|
inline |
Human-readable name and likely cause for an Eigen solver status, so a thrown decomposition error names the failure mode instead of a raw code.
Definition at line 30 of file itkBridgeEigenDecompositionSolverInfo.h.
Referenced by itk::bridge::GeneralizedEigenDecomposition< TReal >::GeneralizedEigenDecomposition(), itk::bridge::RealEigenDecomposition< TReal >::RealEigenDecomposition(), and itk::bridge::SymmetricEigenDecomposition< T >::SymmetricEigenDecomposition().