OSVR-Core
|
class Bidiagonal Divide and Conquer SVD More...
#include <BDCSVD.h>
Public Types | |
enum | { RowsAtCompileTime = MatrixType::RowsAtCompileTime, ColsAtCompileTime = MatrixType::ColsAtCompileTime, DiagSizeAtCompileTime = EIGEN_SIZE_MIN_PREFER_DYNAMIC(RowsAtCompileTime, ColsAtCompileTime), MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime, MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime, MaxDiagSizeAtCompileTime = EIGEN_SIZE_MIN_PREFER_FIXED(MaxRowsAtCompileTime, MaxColsAtCompileTime), MatrixOptions = MatrixType::Options } |
typedef _MatrixType | MatrixType |
typedef MatrixType::Scalar | Scalar |
typedef NumTraits< typename MatrixType::Scalar >::Real | RealScalar |
typedef MatrixType::Index | Index |
typedef Matrix< Scalar, RowsAtCompileTime, RowsAtCompileTime, MatrixOptions, MaxRowsAtCompileTime, MaxRowsAtCompileTime > | MatrixUType |
typedef Matrix< Scalar, ColsAtCompileTime, ColsAtCompileTime, MatrixOptions, MaxColsAtCompileTime, MaxColsAtCompileTime > | MatrixVType |
typedef internal::plain_diag_type< MatrixType, RealScalar >::type | SingularValuesType |
typedef internal::plain_row_type< MatrixType >::type | RowType |
typedef internal::plain_col_type< MatrixType >::type | ColType |
typedef Matrix< Scalar, Dynamic, Dynamic > | MatrixX |
typedef Matrix< RealScalar, Dynamic, Dynamic > | MatrixXr |
typedef Matrix< RealScalar, Dynamic, 1 > | VectorType |
![]() | |
enum | { RowsAtCompileTime = MatrixType::RowsAtCompileTime, ColsAtCompileTime = MatrixType::ColsAtCompileTime, DiagSizeAtCompileTime = EIGEN_SIZE_MIN_PREFER_DYNAMIC(RowsAtCompileTime,ColsAtCompileTime), MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime, MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime, MaxDiagSizeAtCompileTime = EIGEN_SIZE_MIN_PREFER_FIXED(MaxRowsAtCompileTime,MaxColsAtCompileTime), MatrixOptions = MatrixType::Options } |
typedef _MatrixType | MatrixType |
typedef MatrixType::Scalar | Scalar |
typedef NumTraits< typename MatrixType::Scalar >::Real | RealScalar |
typedef MatrixType::Index | Index |
typedef Matrix< Scalar, RowsAtCompileTime, RowsAtCompileTime, MatrixOptions, MaxRowsAtCompileTime, MaxRowsAtCompileTime > | MatrixUType |
typedef Matrix< Scalar, ColsAtCompileTime, ColsAtCompileTime, MatrixOptions, MaxColsAtCompileTime, MaxColsAtCompileTime > | MatrixVType |
typedef internal::plain_diag_type< MatrixType, RealScalar >::type | SingularValuesType |
typedef internal::plain_row_type< MatrixType >::type | RowType |
typedef internal::plain_col_type< MatrixType >::type | ColType |
typedef Matrix< Scalar, DiagSizeAtCompileTime, DiagSizeAtCompileTime, MatrixOptions, MaxDiagSizeAtCompileTime, MaxDiagSizeAtCompileTime > | WorkMatrixType |
Public Member Functions | |
BDCSVD () | |
Default Constructor. More... | |
BDCSVD (Index rows, Index cols, unsigned int computationOptions=0) | |
Default Constructor with memory preallocation. More... | |
BDCSVD (const MatrixType &matrix, unsigned int computationOptions=0) | |
Constructor performing the decomposition of given matrix. More... | |
SVDBase< MatrixType > & | compute (const MatrixType &matrix, unsigned int computationOptions) |
Method performing the decomposition of given matrix using custom options. More... | |
SVDBase< MatrixType > & | compute (const MatrixType &matrix) |
Method performing the decomposition of given matrix using current options. More... | |
void | setSwitchSize (int s) |
template<typename Rhs > | |
const internal::solve_retval< BDCSVD, Rhs > | solve (const MatrixBase< Rhs > &b) const |
const MatrixUType & | matrixU () const |
const MatrixVType & | matrixV () const |
template<> | |
SVDBase< Matrix< int, Dynamic, Dynamic > > & | compute (const MatrixType &matrix, unsigned int computationOptions) |
![]() | |
SVDBase & | compute (const MatrixType &matrix, unsigned int computationOptions) |
Method performing the decomposition of given matrix using custom options. More... | |
SVDBase & | compute (const MatrixType &matrix) |
Method performing the decomposition of given matrix using current options. More... | |
const MatrixUType & | matrixU () const |
const MatrixVType & | matrixV () const |
const SingularValuesType & | singularValues () const |
Index | nonzeroSingularValues () const |
bool | computeU () const |
bool | computeV () const |
Index | rows () const |
Index | cols () const |
Protected Attributes | |
MatrixXr | m_naiveU |
MatrixXr | m_naiveV |
MatrixXr | m_computed |
Index | nRec |
int | algoswap |
bool | isTranspose |
bool | compU |
bool | compV |
![]() | |
MatrixUType | m_matrixU |
MatrixVType | m_matrixV |
SingularValuesType | m_singularValues |
bool | m_isInitialized |
bool | m_isAllocated |
bool | m_computeFullU |
bool | m_computeThinU |
bool | m_computeFullV |
bool | m_computeThinV |
unsigned int | m_computationOptions |
Index | m_nonzeroSingularValues |
Index | m_rows |
Index | m_cols |
Index | m_diagSize |
Additional Inherited Members | |
![]() | |
bool | allocate (Index rows, Index cols, unsigned int computationOptions) |
SVDBase () | |
Default Constructor. More... | |
class Bidiagonal Divide and Conquer SVD
|
inline |
Default Constructor.
The default constructor is useful in cases in which the user intends to perform decompositions via BDCSVD::compute(const MatrixType&).
|
inline |
Default Constructor with memory preallocation.
Like the default constructor but with preallocation of the internal data according to the specified problem size.
|
inline |
Constructor performing the decomposition of given matrix.
matrix | the matrix to decompose |
computationOptions | optional parameter allowing to specify if you want full or thin U or V unitaries to be computed. By default, none is computed. This is a bit - field, the possible bits are ComputeFullU, ComputeThinU, ComputeFullV, ComputeThinV. |
Thin unitaries are only available if your matrix type has a Dynamic number of columns (for example MatrixXf). They also are not available with the (non - default) FullPivHouseholderQR preconditioner.
SVDBase< MatrixType > & Eigen::BDCSVD< MatrixType >::compute | ( | const MatrixType & | matrix, |
unsigned int | computationOptions | ||
) |
Method performing the decomposition of given matrix using custom options.
matrix | the matrix to decompose |
computationOptions | optional parameter allowing to specify if you want full or thin U or V unitaries to be computed. By default, none is computed. This is a bit - field, the possible bits are ComputeFullU, ComputeThinU, ComputeFullV, ComputeThinV. |
Thin unitaries are only available if your matrix type has a Dynamic number of columns (for example MatrixXf). They also are not available with the (non - default) FullPivHouseholderQR preconditioner.
|
inline |
Method performing the decomposition of given matrix using current options.
matrix | the matrix to decompose |
This method uses the current computationOptions, as already passed to the constructor or to compute(const MatrixType&, unsigned int).
|
inline |
b | the right - hand - side of the equation to solve. |