mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-04-21 09:09:36 +08:00
bug #899: remove "rank-revealing" qualifier for SparseQR and warn that it is not always rank-revealing.
This commit is contained in:
parent
9ac1634fdf
commit
482c5fb321
@ -41,15 +41,16 @@ namespace internal {
|
||||
/**
|
||||
* \ingroup SparseQR_Module
|
||||
* \class SparseQR
|
||||
* \brief Sparse left-looking rank-revealing QR factorization
|
||||
* \brief Sparse left-looking QR factorization with numerical column pivoting
|
||||
*
|
||||
* This class implements a left-looking rank-revealing QR decomposition
|
||||
* of sparse matrices. When a column has a norm less than a given tolerance
|
||||
* This class implements a left-looking QR decomposition of sparse matrices
|
||||
* with numerical column pivoting.
|
||||
* When a column has a norm less than a given tolerance
|
||||
* it is implicitly permuted to the end. The QR factorization thus obtained is
|
||||
* given by A*P = Q*R where R is upper triangular or trapezoidal.
|
||||
*
|
||||
* P is the column permutation which is the product of the fill-reducing and the
|
||||
* rank-revealing permutations. Use colsPermutation() to get it.
|
||||
* numerical permutations. Use colsPermutation() to get it.
|
||||
*
|
||||
* Q is the orthogonal matrix represented as products of Householder reflectors.
|
||||
* Use matrixQ() to get an expression and matrixQ().adjoint() to get the adjoint.
|
||||
@ -64,6 +65,17 @@ namespace internal {
|
||||
*
|
||||
* \implsparsesolverconcept
|
||||
*
|
||||
* The numerical pivoting strategy and default threshold are the same as in SuiteSparse QR, and
|
||||
* detailed in the following paper:
|
||||
* <i>
|
||||
* Tim Davis, "Algorithm 915, SuiteSparseQR: Multifrontal Multithreaded Rank-Revealing
|
||||
* Sparse QR Factorization, ACM Trans. on Math. Soft. 38(1), 2011.
|
||||
* </i>
|
||||
* Even though it is qualified as "rank-revealing", this strategy might fail for some
|
||||
* rank deficient problems. When this class is used to solve linear or least-square problems
|
||||
* it is thus strongly recommended to check the accuracy of the computed solution. If it
|
||||
* failed, it usually helps to increase the threshold with setPivotThreshold.
|
||||
*
|
||||
* \warning The input sparse matrix A must be in compressed mode (see SparseMatrix::makeCompressed()).
|
||||
* \warning For complex matrices matrixQ().transpose() will actually return the adjoint matrix.
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user