![]() |
Eigen-unsupported
3.2.8
|
class Bidiagonal Divide and Conquer SVD
| MatrixType | the type of the matrix of which we are computing the SVD decomposition We plan to have a very similar interface to JacobiSVD on this class. It should be used to speed up the calcul of SVD for big matrices. |
Inheritance diagram for BDCSVD< _MatrixType >:Public Member Functions | |
| BDCSVD () | |
| Default Constructor. | |
| BDCSVD (Index rows, Index cols, unsigned int computationOptions=0) | |
| Default Constructor with memory preallocation. | |
| BDCSVD (const MatrixType &matrix, unsigned int computationOptions=0) | |
| Constructor performing the decomposition of given matrix. | |
| SVDBase< MatrixType > & | compute (const MatrixType &matrix, unsigned int computationOptions) |
| Method performing the decomposition of given matrix using custom options. | |
| SVDBase< MatrixType > & | compute (const MatrixType &matrix) |
| Method performing the decomposition of given matrix using current options. | |
| template<> | |
| SVDBase< Matrix< int, Dynamic, Dynamic > > & | compute (const MatrixType &matrix, unsigned int computationOptions) |
| Method performing the decomposition of given matrix using custom options. | |
| bool | computeU () const |
| bool | computeV () const |
| const MatrixUType & | matrixU () const |
| const MatrixVType & | matrixV () const |
| Index | nonzeroSingularValues () const |
| const SingularValuesType & | singularValues () const |
| template<typename Rhs > | |
| const internal::solve_retval < BDCSVD, Rhs > | solve (const MatrixBase< Rhs > &b) const |
| BDCSVD | ( | ) | [inline] |
Default Constructor.
The default constructor is useful in cases in which the user intends to perform decompositions via BDCSVD::compute(const MatrixType&).
| BDCSVD | ( | Index | rows, |
| Index | cols, | ||
| unsigned int | computationOptions = 0 |
||
| ) | [inline] |
Default Constructor with memory preallocation.
Like the default constructor but with preallocation of the internal data according to the specified problem size.
| BDCSVD | ( | const MatrixType & | matrix, |
| unsigned int | computationOptions = 0 |
||
| ) | [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.
References BDCSVD< _MatrixType >::compute().
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.
Reimplemented from SVDBase< _MatrixType >.
Referenced by BDCSVD< _MatrixType >::BDCSVD(), and BDCSVD< _MatrixType >::compute().
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).
Reimplemented from SVDBase< _MatrixType >.
References BDCSVD< _MatrixType >::compute().
| SVDBase< Matrix< int, Dynamic, Dynamic > > & 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.
Reimplemented from SVDBase< _MatrixType >.
| bool computeU | ( | ) | const [inline, inherited] |
Referenced by SVDBase< _MatrixType >::matrixU(), BDCSVD< _MatrixType >::matrixU(), and BDCSVD< _MatrixType >::matrixV().
| bool computeV | ( | ) | const [inline, inherited] |
Referenced by BDCSVD< _MatrixType >::matrixU(), SVDBase< _MatrixType >::matrixV(), and BDCSVD< _MatrixType >::matrixV().
| const MatrixUType& matrixU | ( | ) | const [inline] |
For the SVDBase decomposition of a n-by-p matrix, letting m be the minimum of n and p, the U matrix is n-by-n if you asked for #ComputeFullU, and is n-by-m if you asked for #ComputeThinU.
The m first columns of U are the left singular vectors of the matrix being decomposed.
This method asserts that you asked for U to be computed.
Reimplemented from SVDBase< _MatrixType >.
References SVDBase< _MatrixType >::computeU(), and SVDBase< _MatrixType >::computeV().
| const MatrixVType& matrixV | ( | ) | const [inline] |
For the SVD decomposition of a n-by-p matrix, letting m be the minimum of n and p, the V matrix is p-by-p if you asked for #ComputeFullV, and is p-by-m if you asked for ComputeThinV.
The m first columns of V are the right singular vectors of the matrix being decomposed.
This method asserts that you asked for V to be computed.
Reimplemented from SVDBase< _MatrixType >.
References SVDBase< _MatrixType >::computeU(), and SVDBase< _MatrixType >::computeV().
| Index nonzeroSingularValues | ( | ) | const [inline, inherited] |
| const SingularValuesType& singularValues | ( | ) | const [inline, inherited] |
For the SVD decomposition of a n-by-p matrix, letting m be the minimum of n and p, the returned vector has size m. Singular values are always sorted in decreasing order.
using the current SVD decomposition of A.| b | the right - hand - side of the equation to solve. |
.