Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
gte::SingularValueDecomposition< Real > Class Template Reference

#include <GteSingularValueDecomposition.h>

Classes

struct  GivensRotation
 

Public Member Functions

Real GetSingularValue (int index) const
 
void GetSingularValues (Real *singularValues) const
 
void GetU (Real *uMatrix) const
 
void GetUColumn (int index, Real *uColumn) const
 
void GetV (Real *vMatrix) const
 
void GetVColumn (int index, Real *vColumn) const
 
 SingularValueDecomposition (int numRows, int numCols, unsigned int maxIterations)
 
unsigned int Solve (Real const *input, int sortType)
 

Private Member Functions

void Bidiagonalize ()
 
void ComputePermutation (int sortType)
 
bool DiagonalEntriesNonzero (int imin, int imax, Real threshold)
 
void DoGolubKahanStep (int imin, int imax)
 
void EnsureNonnegativeDiagonal ()
 
void GetSinCos (Real u, Real v, Real &cs, Real &sn)
 

Private Attributes

std::vector< Real > mDiagonal
 
std::vector< Real > mFixupDiagonal
 
std::vector< GivensRotationmLGivens
 
std::vector< Real > mMatrix
 
unsigned int mMaxIterations
 
int mNumCols
 
int mNumRows
 
std::vector< intmPermutation
 
std::vector< GivensRotationmRGivens
 
std::vector< Real > mSuperdiagonal
 
std::vector< Real > mTwoInvUTU
 
std::vector< Real > mTwoInvVTV
 
std::vector< Real > mUVector
 
std::vector< intmVisited
 
std::vector< Real > mVVector
 
std::vector< Real > mWVector
 

Detailed Description

template<typename Real>
class gte::SingularValueDecomposition< Real >

Definition at line 114 of file GteSingularValueDecomposition.h.

Constructor & Destructor Documentation

template<typename Real >
gte::SingularValueDecomposition< Real >::SingularValueDecomposition ( int  numRows,
int  numCols,
unsigned int  maxIterations 
)

Definition at line 250 of file GteSingularValueDecomposition.h.

Member Function Documentation

template<typename Real >
void gte::SingularValueDecomposition< Real >::Bidiagonalize ( )
private

Definition at line 785 of file GteSingularValueDecomposition.h.

template<typename Real >
void gte::SingularValueDecomposition< Real >::ComputePermutation ( int  sortType)
private

Definition at line 1060 of file GteSingularValueDecomposition.h.

template<typename Real >
bool gte::SingularValueDecomposition< Real >::DiagonalEntriesNonzero ( int  imin,
int  imax,
Real  threshold 
)
private

Definition at line 938 of file GteSingularValueDecomposition.h.

template<typename Real >
void gte::SingularValueDecomposition< Real >::DoGolubKahanStep ( int  imin,
int  imax 
)
private

Definition at line 970 of file GteSingularValueDecomposition.h.

template<typename Real >
void gte::SingularValueDecomposition< Real >::EnsureNonnegativeDiagonal ( )
private

Definition at line 1043 of file GteSingularValueDecomposition.h.

template<typename Real >
void gte::SingularValueDecomposition< Real >::GetSinCos ( Real  u,
Real  v,
Real &  cs,
Real &  sn 
)
private

Definition at line 910 of file GteSingularValueDecomposition.h.

template<typename Real >
Real gte::SingularValueDecomposition< Real >::GetSingularValue ( int  index) const

Definition at line 763 of file GteSingularValueDecomposition.h.

template<typename Real >
void gte::SingularValueDecomposition< Real >::GetSingularValues ( Real *  singularValues) const

Definition at line 380 of file GteSingularValueDecomposition.h.

template<typename Real >
void gte::SingularValueDecomposition< Real >::GetU ( Real *  uMatrix) const

Definition at line 404 of file GteSingularValueDecomposition.h.

template<typename Real >
void gte::SingularValueDecomposition< Real >::GetUColumn ( int  index,
Real *  uColumn 
) const

Definition at line 618 of file GteSingularValueDecomposition.h.

template<typename Real >
void gte::SingularValueDecomposition< Real >::GetV ( Real *  vMatrix) const

Definition at line 505 of file GteSingularValueDecomposition.h.

template<typename Real >
void gte::SingularValueDecomposition< Real >::GetVColumn ( int  index,
Real *  vColumn 
) const

Definition at line 690 of file GteSingularValueDecomposition.h.

template<typename Real >
unsigned int gte::SingularValueDecomposition< Real >::Solve ( Real const *  input,
int  sortType 
)

Definition at line 279 of file GteSingularValueDecomposition.h.

Member Data Documentation

template<typename Real>
std::vector<Real> gte::SingularValueDecomposition< Real >::mDiagonal
private

Definition at line 205 of file GteSingularValueDecomposition.h.

template<typename Real>
std::vector<Real> gte::SingularValueDecomposition< Real >::mFixupDiagonal
private

Definition at line 231 of file GteSingularValueDecomposition.h.

template<typename Real>
std::vector<GivensRotation> gte::SingularValueDecomposition< Real >::mLGivens
private

Definition at line 228 of file GteSingularValueDecomposition.h.

template<typename Real>
std::vector<Real> gte::SingularValueDecomposition< Real >::mMatrix
private

Definition at line 200 of file GteSingularValueDecomposition.h.

template<typename Real>
unsigned int gte::SingularValueDecomposition< Real >::mMaxIterations
private

Definition at line 196 of file GteSingularValueDecomposition.h.

template<typename Real>
int gte::SingularValueDecomposition< Real >::mNumCols
private

Definition at line 192 of file GteSingularValueDecomposition.h.

template<typename Real>
int gte::SingularValueDecomposition< Real >::mNumRows
private

Definition at line 192 of file GteSingularValueDecomposition.h.

template<typename Real>
std::vector<int> gte::SingularValueDecomposition< Real >::mPermutation
private

Definition at line 236 of file GteSingularValueDecomposition.h.

template<typename Real>
std::vector<GivensRotation> gte::SingularValueDecomposition< Real >::mRGivens
private

Definition at line 227 of file GteSingularValueDecomposition.h.

template<typename Real>
std::vector<Real> gte::SingularValueDecomposition< Real >::mSuperdiagonal
private

Definition at line 206 of file GteSingularValueDecomposition.h.

template<typename Real>
std::vector<Real> gte::SingularValueDecomposition< Real >::mTwoInvUTU
private

Definition at line 241 of file GteSingularValueDecomposition.h.

template<typename Real>
std::vector<Real> gte::SingularValueDecomposition< Real >::mTwoInvVTV
private

Definition at line 242 of file GteSingularValueDecomposition.h.

template<typename Real>
std::vector<Real> gte::SingularValueDecomposition< Real >::mUVector
mutableprivate

Definition at line 243 of file GteSingularValueDecomposition.h.

template<typename Real>
std::vector<int> gte::SingularValueDecomposition< Real >::mVisited
mutableprivate

Definition at line 237 of file GteSingularValueDecomposition.h.

template<typename Real>
std::vector<Real> gte::SingularValueDecomposition< Real >::mVVector
mutableprivate

Definition at line 244 of file GteSingularValueDecomposition.h.

template<typename Real>
std::vector<Real> gte::SingularValueDecomposition< Real >::mWVector
mutableprivate

Definition at line 245 of file GteSingularValueDecomposition.h.


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


geometric_tools_engine
Author(s): Yijiang Huang
autogenerated on Thu Jul 18 2019 04:00:06