ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkMathSVD.h File Reference
#include "itkMacro.h"
#include "itkEigenDecompositionSignConvention.h"
#include "vnl/vnl_matrix.h"
#include "vnl/vnl_matrix_fixed.h"
#include "vnl/vnl_vector.h"
#include "vnl/vnl_vector_fixed.h"
#include "itk_eigen.h"
#include <ITK_EIGEN(Dense)>
#include <limits>
#include <type_traits>
+ Include dependency graph for itkMathSVD.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  itk::Math::FixedRectangularSVDResult< TReal, VRows, VCols >
 
struct  itk::Math::FixedSquareSVDResult< TReal, VDim >
 
struct  itk::Math::SVDResult< TReal >
 

Namespaces

namespace  itk
 
namespace  itk::Math
 
namespace  itk::Math::detail
 

Macros

#define ITK_MATH_SVD_EXTERN_FIXED(D)
 
#define ITK_MATH_SVD_FIXED_DIMS(F)
 
#define ITKCommon_EXPORT_EXPLICIT   ITKCommon_EXPORT
 

Functions

template<typename TVector>
auto itk::Math::detail::DeterminantMagnitude (const TVector &W) -> std::decay_t< decltype(W[0])>
 
template<typename TReal>
void itk::Math::detail::DynamicSquareSVDEigen (const TReal *inData, unsigned int n, TReal *uData, TReal *wData, TReal *vData)
 
template void itk::Math::detail::DynamicSquareSVDEigen< double > (const double *, unsigned int, double *, double *, double *)
 
template void itk::Math::detail::DynamicSquareSVDEigen< float > (const float *, unsigned int, float *, float *, float *)
 
template<typename TVector, typename TReal>
unsigned int itk::Math::detail::NumericalRank (const TVector &W, TReal rcond)
 
template<typename TMatrixU, typename TVector, typename TMatrixV, typename TReal>
auto itk::Math::detail::PseudoInverse (const TMatrixU &U, const TVector &W, const TMatrixV &V, TReal rcond)
 
template<typename TMatrixU, typename TVector, typename TMatrixV, typename TReal>
auto itk::Math::detail::Recompose (const TMatrixU &U, const TVector &W, const TMatrixV &V, TReal rcond)
 
template<typename TMatrixU, typename TVector, typename TMatrixV>
auto itk::Math::detail::RecomposeWith (const TMatrixU &U, const TVector &modifiedW, const TMatrixV &V)
 
template<typename TReal>
void itk::Math::detail::RectangularSVDEigen (const TReal *inData, unsigned int rows, unsigned int cols, TReal *uData, TReal *wData, TReal *vData)
 
template void itk::Math::detail::RectangularSVDEigen< double > (const double *, unsigned int, unsigned int, double *, double *, double *)
 
template void itk::Math::detail::RectangularSVDEigen< float > (const float *, unsigned int, unsigned int, float *, float *, float *)
 
template<typename TReal>
TReal itk::Math::detail::ResolveRcond (TReal rcond, unsigned int n)
 
template<typename TMatrixU, typename TVector, typename TMatrixV, typename TVectorB, typename TReal>
auto itk::Math::detail::SolveLinear (const TMatrixU &U, const TVector &W, const TMatrixV &V, const TVectorB &b, TReal rcond)
 
template<unsigned int VDim, typename TReal>
void itk::Math::detail::SquareSVDEigen (const TReal *inData, TReal *uData, TReal *wData, TReal *vData)
 
template<typename TReal, unsigned int VDim>
FixedSquareSVDResult< TReal, VDim > itk::Math::SVD (const Matrix< TReal, VDim, VDim > &A, bool canonicalizeSigns=true)
 
template<typename TReal, unsigned int VRows, unsigned int VCols, typename = std::enable_if_t<VRows != VCols>>
FixedRectangularSVDResult< TReal, VRows, VCols > itk::Math::SVD (const Matrix< TReal, VRows, VCols > &A, bool canonicalizeSigns=true)
 
template<typename TReal>
SVDResult< TReal > itk::Math::SVD (const vnl_matrix< TReal > &A, bool canonicalizeSigns=true)
 
template<typename TReal, unsigned int VDim>
FixedSquareSVDResult< TReal, VDim > itk::Math::SVD (const vnl_matrix_fixed< TReal, VDim, VDim > &A, bool canonicalizeSigns=true)
 
template<typename TReal, unsigned int VRows, unsigned int VCols, typename = std::enable_if_t<VRows != VCols>>
FixedRectangularSVDResult< TReal, VRows, VCols > itk::Math::SVD (const vnl_matrix_fixed< TReal, VRows, VCols > &A, bool canonicalizeSigns=true)
 
template<typename TVector>
auto itk::Math::detail::WellCondition (const TVector &W) -> std::decay_t< decltype(W[0])>
 

Variables

constexpr unsigned int itk::Math::detail::kFixedSVDMaxDim = 16
 
constexpr unsigned int itk::Math::detail::kJacobiMaxDim = 6
 

Macro Definition Documentation

◆ ITK_MATH_SVD_EXTERN_FIXED

#define ITK_MATH_SVD_EXTERN_FIXED ( D)
Value:
extern template ITKCommon_EXPORT_EXPLICIT void SquareSVDEigen<D, float>(const float *, float *, float *, float *); \
extern template ITKCommon_EXPORT_EXPLICIT void SquareSVDEigen<D, double>( \
const double *, double *, double *, double *);
#define ITKCommon_EXPORT_EXPLICIT
Definition itkMathSVD.h:511

Definition at line 521 of file itkMathSVD.h.

◆ ITK_MATH_SVD_FIXED_DIMS

#define ITK_MATH_SVD_FIXED_DIMS ( F)
Value:
F(1) F(2) F(3) F(4) F(5) F(6)

Definition at line 514 of file itkMathSVD.h.

◆ ITKCommon_EXPORT_EXPLICIT