![]() |
Eigen
3.3.9
|
#include <Eigen/src/SVD/BDCSVD.h>
class Bidiagonal Divide and Conquer SVD
| _MatrixType | the type of the matrix of which we are computing the SVD decomposition |
This class first reduces the input matrix to bi-diagonal form using class UpperBidiagonalization, and then performs a divide-and-conquer diagonalization. Small blocks are diagonalized using class JacobiSVD. You can control the switching size with the setSwitchSize() method, default is 16. For small matrice (<16), it is thus preferable to directly use JacobiSVD. For larger ones, BDCSVD is highly recommended and can several order of magnitude faster.
-fp-model precise option. Likewise, the -ffast-math option of GCC or clang will significantly degrade the accuracy.
Inheritance diagram for Eigen::BDCSVD< _MatrixType >:Public Member Functions | |
| BDCSVD () | |
| Default Constructor. | |
| BDCSVD (const MatrixType &matrix, unsigned int computationOptions=0) | |
| Constructor performing the decomposition of given matrix. | |
| BDCSVD (Index rows, Index cols, unsigned int computationOptions=0) | |
| Default Constructor with memory preallocation. | |
| BDCSVD & | compute (const MatrixType &matrix) |
| Method performing the decomposition of given matrix using current options. | |
| BDCSVD & | compute (const MatrixType &matrix, unsigned int computationOptions) |
| Method performing the decomposition of given matrix using custom options. | |
| bool | computeU () const |
| bool | computeV () const |
Public Member Functions inherited from Eigen::SVDBase< BDCSVD< _MatrixType > > | |
| bool | computeU () const |
| bool | computeV () const |
| const MatrixUType & | matrixU () const |
| const MatrixVType & | matrixV () const |
| Index | nonzeroSingularValues () const |
| Index | rank () const |
| BDCSVD< _MatrixType > & | setThreshold (const RealScalar &threshold) |
| BDCSVD< _MatrixType > & | setThreshold (Default_t) |
| const SingularValuesType & | singularValues () const |
| const Solve< BDCSVD< _MatrixType >, Rhs > | solve (const MatrixBase< Rhs > &b) const |
| RealScalar | threshold () const |
Additional Inherited Members | |
Public Types inherited from Eigen::SVDBase< BDCSVD< _MatrixType > > | |
| typedef Eigen::Index | Index |
Protected Member Functions inherited from Eigen::SVDBase< BDCSVD< _MatrixType > > | |
| SVDBase () | |
| Default Constructor. | |
|
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.
|
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).
| BDCSVD< 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 |
|
inline |