Dense linear problems and decompositions » Reference » SVD module module

Contents

This module provides SVD decomposition for matrices (both real and complex). Two decomposition algorithms are provided:

  • JacobiSVD implementing two-sided Jacobi iterations is numerically very accurate, fast for small matrices, but very slow for larger ones.
  • BDCSVD implementing a recursive divide & conquer strategy on top of an upper-bidiagonalization which remains fast for large problems. These decompositions are accessible via the respective classes and following MatrixBase methods:
  • MatrixBase::jacobiSvd()
  • MatrixBase::bdcSvd()
#include <Eigen/SVD>

Classes

template<typename _MatrixType>
class Eigen::BDCSVD
class Bidiagonal Divide and Conquer SVD
template<typename _MatrixType, int QRPreconditioner>
class Eigen::JacobiSVD
Two-sided Jacobi SVD decomposition of a rectangular matrix.
template<typename Derived>
class Eigen::SVDBase
Base class of SVD algorithms.