aimsalgo  5.0.5
Neuroimaging image processing
AimsSVD< T > Class Template Reference

#include <aims/math/svd.h>

Public Types

enum  SVDReturnType { MatrixOfSingularValues, VectorOfSingularValues }
 

Public Member Functions

void setReturnType (SVDReturnType rt)
 
AimsData< T > doit (AimsData< T > &, AimsData< T > *v=NULL)
 Singular Value Decomposition. More...
 
void sort (AimsData< T > &, AimsData< T > &, AimsData< T > *v=NULL)
 sort the U and V matrices and the W vector in decreasing order More...
 
AimsData< T > backwardSubstitution (const AimsData< T > &U, const AimsData< T > &W, const AimsData< T > &V, const AimsData< T > &S)
 
 AimsSVD (SVDReturnType rt=MatrixOfSingularValues)
 Constructor and destructor. More...
 
virtual ~AimsSVD ()
 destructor More...
 

Detailed Description

template<class T>
class AimsSVD< T >

Definition at line 55 of file svd.h.

Member Enumeration Documentation

◆ SVDReturnType

template<class T>
enum AimsSVD::SVDReturnType
Enumerator
MatrixOfSingularValues 
VectorOfSingularValues 

Definition at line 59 of file svd.h.

Constructor & Destructor Documentation

◆ AimsSVD()

template<class T>
AimsSVD< T >::AimsSVD ( SVDReturnType  rt = MatrixOfSingularValues)
inline

Constructor and destructor.

constructor

Definition at line 68 of file svd.h.

◆ ~AimsSVD()

template<class T>
virtual AimsSVD< T >::~AimsSVD ( )
inlinevirtual

destructor

Definition at line 70 of file svd.h.

Member Function Documentation

◆ backwardSubstitution()

template<class T>
AimsData< T > AimsSVD< T >::backwardSubstitution ( const AimsData< T > &  U,
const AimsData< T > &  W,
const AimsData< T > &  V,
const AimsData< T > &  S 
)

◆ doit()

template<class T>
AimsData< T > AimsSVD< T >::doit ( AimsData< T > &  ,
AimsData< T > *  v = NULL 
)

Singular Value Decomposition.

\ This function is adapted from the Numerical Recipes in C. \ Returns the diagonal matrix of singular values W of the input matrix if the SVDReturnType is set to MatrixOfSingularValues or a vector of singular values if set to VectorOfSingularValues. \ The first parameter is the input matrix. On output, it is replaced by the (m*n) matrix U. \

Parameters
vis output as the (n*n) matrix V (and not its transpose!).

Referenced by AimsPCA::doIt(), aims::ProbabilisticPcaElement::doIt(), aims::PpcaAnalyserElement::init(), aims::PpcaAnalyserElement::newStep2(), aims::ProbabilisticPcaElement::noiseVariance(), and AimsSVD< T >::setReturnType().

◆ setReturnType()

◆ sort()

template<class T>
void AimsSVD< T >::sort ( AimsData< T > &  ,
AimsData< T > &  ,
AimsData< T > *  v = NULL 
)

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