Shapeworks Studio
2.1
Shape analysis software suite
|
Standard SVD decomposition of a matrix and associated features. More...
#include <SVD.h>
Public Member Functions | |
SVD (const MatrixType &matrix) | |
template<typename OtherDerived , typename ResultType > | |
bool | solve (const MatrixBase< OtherDerived > &b, ResultType *result) const |
const MatrixUType & | matrixU () const |
const SingularValuesType & | singularValues () const |
const MatrixVType & | matrixV () const |
void | compute (const MatrixType &matrix) |
SVD & | sort () |
template<typename UnitaryType , typename PositiveType > | |
void | computeUnitaryPositive (UnitaryType *unitary, PositiveType *positive) const |
template<typename PositiveType , typename UnitaryType > | |
void | computePositiveUnitary (PositiveType *positive, UnitaryType *unitary) const |
template<typename RotationType , typename ScalingType > | |
void | computeRotationScaling (RotationType *unitary, ScalingType *positive) const |
template<typename ScalingType , typename RotationType > | |
void | computeScalingRotation (ScalingType *positive, RotationType *unitary) const |
template<typename UnitaryType , typename PositiveType > | |
void | computePositiveUnitary (UnitaryType *positive, PositiveType *unitary) const |
Protected Attributes | |
MatrixUType | m_matU |
MatrixVType | m_matV |
SingularValuesType | m_sigma |
Standard SVD decomposition of a matrix and associated features.
MatrixType | the type of the matrix of which we are computing the SVD decomposition |
This class performs a standard SVD decomposition of a real matrix A of size M
x N
with M
>= N
.
void Eigen::SVD< MatrixType >::compute | ( | const MatrixType & | matrix | ) |
Computes / recomputes the SVD decomposition A = U S V^* of matrix
Definition at line 94 of file SVD.h.
void Eigen::SVD< MatrixType >::computePositiveUnitary | ( | UnitaryType * | positive, |
PositiveType * | unitary | ||
) | const |
Computes the polar decomposition of the matrix, as a product positive x unitary.
If either pointer is zero, the corresponding computation is skipped.
Only for square matrices.
void Eigen::SVD< MatrixType >::computeRotationScaling | ( | RotationType * | rotation, |
ScalingType * | scaling | ||
) | const |
void Eigen::SVD< MatrixType >::computeScalingRotation | ( | ScalingType * | scaling, |
RotationType * | rotation | ||
) | const |
void Eigen::SVD< MatrixType >::computeUnitaryPositive | ( | UnitaryType * | unitary, |
PositiveType * | positive | ||
) | const |
Computes the polar decomposition of the matrix, as a product unitary x positive.
If either pointer is zero, the corresponding computation is skipped.
Only for square matrices.
bool Eigen::SVD< MatrixType >::solve | ( | const MatrixBase< OtherDerived > & | b, |
ResultType * | result | ||
) | const |
Definition at line 513 of file SVD.h.