#include <itkBridgeMathSVD.h>
Result of a runtime-sized SVD (square or rectangular): A == U diag(W) V^T, W descending. For an m x n input, U is m x k, V is n x k and W has length k = min(m, n) (thin factors). rcond < 0 auto-selects a k*epsilon threshold.
Definition at line 246 of file itkBridgeMathSVD.h.
Public Member Functions | |
| TReal | DeterminantMagnitude () const |
| vnl_vector< TReal > | NullVector () const |
| vnl_matrix< TReal > | PseudoInverse (TReal rcond=TReal{ -1 }) const |
| unsigned int | Rank (TReal rcond=TReal{ -1 }) const |
| vnl_matrix< TReal > | Recompose (TReal rcond=TReal{ -1 }) const |
| vnl_matrix< TReal > | RecomposeWith (const vnl_vector< TReal > &modifiedW) const |
| vnl_vector< TReal > | Solve (const vnl_vector< TReal > &b, TReal rcond=TReal{ -1 }) const |
| TReal | WellCondition () const |
Public Attributes | |
| vnl_matrix< TReal > | U {} |
| vnl_matrix< TReal > | V {} |
| vnl_vector< TReal > | W {} |
|
inline |
Product of the singular values (magnitude of the determinant for a square A).
Definition at line 311 of file itkBridgeMathSVD.h.
References itk::bridge::Math::detail::DeterminantMagnitude(), and W.
|
inline |
Singular vector for the smallest singular value (last column of V); spans the nullspace when A is rank-deficient. Defined only for rows >= cols: an underdetermined input's thin V (cols x min(rows,cols)) cannot span the nullspace, so this throws rather than return a misleading direction.
Definition at line 292 of file itkBridgeMathSVD.h.
|
inline |
Moore-Penrose pseudo-inverse A^+.
Definition at line 254 of file itkBridgeMathSVD.h.
|
inline |
Numerical rank (count of singular values above rcond*max(w)).
Definition at line 268 of file itkBridgeMathSVD.h.
|
inline |
Reconstruct A with singular values at or below rcond*max(w) zeroed.
Definition at line 275 of file itkBridgeMathSVD.h.
|
inline |
Reconstruct U diag(modifiedW) V^T with caller-supplied singular values.
Definition at line 282 of file itkBridgeMathSVD.h.
References itk::bridge::Math::detail::RecomposeWith(), U, and V.
|
inline |
Least-squares / minimum-norm solution of A x = b.
Definition at line 261 of file itkBridgeMathSVD.h.
|
inline |
Reciprocal condition number sigma_min/sigma_max (0 = singular, 1 = perfect).
Definition at line 304 of file itkBridgeMathSVD.h.
References W, and itk::bridge::Math::detail::WellCondition().
| vnl_matrix<TReal> itk::bridge::Math::SVDResult< TReal >::U {} |
Definition at line 248 of file itkBridgeMathSVD.h.
Referenced by NullVector(), RecomposeWith(), and itk::bridge::Math::SVD().
| vnl_matrix<TReal> itk::bridge::Math::SVDResult< TReal >::V {} |
Definition at line 250 of file itkBridgeMathSVD.h.
Referenced by NullVector(), RecomposeWith(), and itk::bridge::Math::SVD().
| vnl_vector<TReal> itk::bridge::Math::SVDResult< TReal >::W {} |
Definition at line 249 of file itkBridgeMathSVD.h.
Referenced by DeterminantMagnitude(), itk::bridge::Math::SVD(), and WellCondition().