ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itk::Math::FixedSquareSVDResult< TReal, VDim > Struct Template Reference

#include <itkMathSVD.h>

Detailed Description

template<typename TReal, unsigned int VDim>
struct itk::Math::FixedSquareSVDResult< TReal, VDim >

Result of a fixed-size square SVD: A == U * diag(W) * V^T, W descending. For all solver methods, rcond < 0 auto-selects a VDim*epsilon threshold.

Definition at line 175 of file itkMathSVD.h.

Public Member Functions

TReal DeterminantMagnitude () const
 
vnl_vector_fixed< TReal, VDim > NullVector () const
 
vnl_matrix_fixed< TReal, VDim, VDim > PseudoInverse (TReal rcond=TReal{ -1 }) const
 
unsigned int Rank (TReal rcond=TReal{ -1 }) const
 
vnl_matrix_fixed< TReal, VDim, VDim > Recompose (TReal rcond=TReal{ -1 }) const
 
vnl_matrix_fixed< TReal, VDim, VDim > RecomposeWith (const vnl_vector_fixed< TReal, VDim > &modifiedW) const
 
vnl_vector_fixed< TReal, VDim > Solve (const vnl_vector_fixed< TReal, VDim > &b, TReal rcond=TReal{ -1 }) const
 
TReal WellCondition () const
 

Public Attributes

vnl_matrix_fixed< TReal, VDim, VDim > U {}
 
vnl_matrix_fixed< TReal, VDim, VDim > V {}
 
vnl_vector_fixed< TReal, VDim > W {}
 

Member Function Documentation

◆ DeterminantMagnitude()

template<typename TReal, unsigned int VDim>
TReal itk::Math::FixedSquareSVDResult< TReal, VDim >::DeterminantMagnitude ( ) const
inline

Product of the singular values (magnitude of the determinant for a square A).

Definition at line 233 of file itkMathSVD.h.

References itk::Math::detail::DeterminantMagnitude(), and W.

◆ NullVector()

template<typename TReal, unsigned int VDim>
vnl_vector_fixed< TReal, VDim > itk::Math::FixedSquareSVDResult< TReal, VDim >::NullVector ( ) const
inline

Singular vector for the smallest singular value (last column of V); spans the nullspace when A is rank-deficient.

Definition at line 219 of file itkMathSVD.h.

References V.

◆ PseudoInverse()

template<typename TReal, unsigned int VDim>
vnl_matrix_fixed< TReal, VDim, VDim > itk::Math::FixedSquareSVDResult< TReal, VDim >::PseudoInverse ( TReal rcond = TReal{ -1 }) const
inline

Moore-Penrose pseudo-inverse A^+.

Definition at line 183 of file itkMathSVD.h.

◆ Rank()

template<typename TReal, unsigned int VDim>
unsigned int itk::Math::FixedSquareSVDResult< TReal, VDim >::Rank ( TReal rcond = TReal{ -1 }) const
inline

Numerical rank (count of singular values above rcond*max(w)).

Definition at line 197 of file itkMathSVD.h.

◆ Recompose()

template<typename TReal, unsigned int VDim>
vnl_matrix_fixed< TReal, VDim, VDim > itk::Math::FixedSquareSVDResult< TReal, VDim >::Recompose ( TReal rcond = TReal{ -1 }) const
inline

Reconstruct A with singular values at or below rcond*max(w) zeroed.

Definition at line 204 of file itkMathSVD.h.

◆ RecomposeWith()

template<typename TReal, unsigned int VDim>
vnl_matrix_fixed< TReal, VDim, VDim > itk::Math::FixedSquareSVDResult< TReal, VDim >::RecomposeWith ( const vnl_vector_fixed< TReal, VDim > & modifiedW) const
inline

Reconstruct U diag(modifiedW) V^T with caller-supplied singular values.

Definition at line 211 of file itkMathSVD.h.

References itk::Math::detail::RecomposeWith(), U, and V.

◆ Solve()

template<typename TReal, unsigned int VDim>
vnl_vector_fixed< TReal, VDim > itk::Math::FixedSquareSVDResult< TReal, VDim >::Solve ( const vnl_vector_fixed< TReal, VDim > & b,
TReal rcond = TReal{ -1 } ) const
inline

Least-squares / minimum-norm solution of A x = b.

Definition at line 190 of file itkMathSVD.h.

◆ WellCondition()

template<typename TReal, unsigned int VDim>
TReal itk::Math::FixedSquareSVDResult< TReal, VDim >::WellCondition ( ) const
inline

Reciprocal condition number sigma_min/sigma_max (0 = singular, 1 = perfect).

Definition at line 226 of file itkMathSVD.h.

References W, and itk::Math::detail::WellCondition().

Member Data Documentation

◆ U

template<typename TReal, unsigned int VDim>
vnl_matrix_fixed<TReal, VDim, VDim> itk::Math::FixedSquareSVDResult< TReal, VDim >::U {}

Definition at line 177 of file itkMathSVD.h.

Referenced by RecomposeWith(), and itk::Math::SVD().

◆ V

template<typename TReal, unsigned int VDim>
vnl_matrix_fixed<TReal, VDim, VDim> itk::Math::FixedSquareSVDResult< TReal, VDim >::V {}

Definition at line 179 of file itkMathSVD.h.

Referenced by NullVector(), RecomposeWith(), and itk::Math::SVD().

◆ W

template<typename TReal, unsigned int VDim>
vnl_vector_fixed<TReal, VDim> itk::Math::FixedSquareSVDResult< TReal, VDim >::W {}

Definition at line 178 of file itkMathSVD.h.

Referenced by DeterminantMagnitude(), itk::Math::SVD(), and WellCondition().


The documentation for this struct was generated from the following file: