Public Member Functions |
void | compute (const MatrixType &matrix) |
template<typename PositiveType , typename UnitaryType > |
void | computePositiveUnitary (PositiveType *positive, UnitaryType *unitary) const |
template<typename UnitaryType , typename PositiveType > |
void | computePositiveUnitary (UnitaryType *positive, PositiveType *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 | computeUnitaryPositive (UnitaryType *unitary, PositiveType *positive) const |
const MatrixUType & | matrixU () const |
const MatrixVType & | matrixV () const |
const SingularValuesType & | singularValues () const |
template<typename OtherDerived , typename ResultType > |
bool | solve (const MatrixBase< OtherDerived > &b, ResultType *result) const |
SVD & | sort () |
| SVD () |
| SVD (const MatrixType &matrix) |
Protected Attributes |
MatrixUType | m_matU |
MatrixVType | m_matV |
SingularValuesType | m_sigma |
Private Types |
enum | { PacketSize = internal::packet_traits<Scalar>::size,
AlignmentMask = int(PacketSize)-1,
MinSize = EIGEN_SIZE_MIN_PREFER_DYNAMIC(MatrixType::RowsAtCompileTime, MatrixType::ColsAtCompileTime)
} |
typedef Matrix< Scalar,
MatrixType::RowsAtCompileTime, 1 > | ColVector |
typedef Matrix< Scalar,
MatrixType::RowsAtCompileTime,
MinSize > | MatrixUType |
typedef Matrix< Scalar,
MatrixType::ColsAtCompileTime,
MatrixType::ColsAtCompileTime > | MatrixVType |
typedef NumTraits< typename
MatrixType::Scalar >::Real | RealScalar |
typedef Matrix< Scalar,
MatrixType::ColsAtCompileTime, 1 > | RowVector |
typedef MatrixType::Scalar | Scalar |
typedef Matrix< Scalar,
MinSize, 1 > | SingularValuesType |
template<typename MatrixType>
class SVD< MatrixType >
Standard SVD decomposition of a matrix and associated features.
- Parameters:
-
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
.
- See also:
- MatrixBase::SVD()
Definition at line 43 of file SVD.h.
template<typename MatrixType>
template<typename UnitaryType , typename PositiveType >
template<typename MatrixType >
template<typename RotationType , typename ScalingType >
decomposes the matrix as a product rotation x scaling, the scaling being not necessarily positive.
If either pointer is zero, the corresponding computation is skipped.
This method requires the Geometry module.
- See also:
- computeScalingRotation(), computeUnitaryPositive()
Definition at line 597 of file SVD.h.
template<typename MatrixType >
template<typename ScalingType , typename RotationType >
decomposes the matrix as a product scaling x rotation, the scaling being not necessarily positive.
If either pointer is zero, the corresponding computation is skipped.
This method requires the Geometry module.
- See also:
- computeRotationScaling(), computeUnitaryPositive()
Definition at line 623 of file SVD.h.
template<typename MatrixType >
template<typename UnitaryType , typename PositiveType >