mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-05-06 19:29:08 +08:00
Improve documentation of BDCSVD
This commit is contained in:
parent
968ec1c2ae
commit
75a94b9662
@ -50,6 +50,18 @@ struct traits<BDCSVD<_MatrixType> >
|
||||
*
|
||||
* \tparam _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.
|
||||
*
|
||||
* \warning this algorithm is unlikely to provide accurate result when compiled with unsafe math optimizations.
|
||||
* For instance, this concerns Intel's compiler (ICC), which perfroms such optimization by default unless
|
||||
* you compile with the \c -fp-model \c precise option. Likewise, the \c -ffast-math option of GCC or clang will
|
||||
* significantly degrade the accuracy.
|
||||
*
|
||||
* \sa class JacobiSVD
|
||||
*/
|
||||
template<typename _MatrixType>
|
||||
class BDCSVD : public SVDBase<BDCSVD<_MatrixType> >
|
||||
|
Loading…
x
Reference in New Issue
Block a user