diff options
author | Gael Guennebaud <g.gael@free.fr> | 2016-02-01 16:09:34 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2016-02-01 16:09:34 +0100 |
commit | ff1157bcbf1998c80d96612ed201b6a20db2de5f (patch) | |
tree | 1bfc72f224102d15e89c354cd7db80e39912ff51 /Eigen/src/SparseQR | |
parent | ec469700dcf82fd9b5668fe3c82d9dac49d147df (diff) |
bug #694: document that SparseQR::matrixR is not sorted.
Diffstat (limited to 'Eigen/src/SparseQR')
-rw-r--r-- | Eigen/src/SparseQR/SparseQR.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Eigen/src/SparseQR/SparseQR.h b/Eigen/src/SparseQR/SparseQR.h index 0d448d02e..acd7f7e10 100644 --- a/Eigen/src/SparseQR/SparseQR.h +++ b/Eigen/src/SparseQR/SparseQR.h @@ -128,6 +128,17 @@ class SparseQR : public SparseSolverBase<SparseQR<_MatrixType,_OrderingType> > inline Index cols() const { return m_pmat.cols();} /** \returns a const reference to the \b sparse upper triangular matrix R of the QR factorization. + * \warning The entries of the returned matrix are not sorted. This means that using it in algorithms + * expecting sorted entries will fail. This include random coefficient accesses (SpaseMatrix::coeff()), + * and coefficient-wise operations. Matrix products and triangular solves are fine though. + * + * To sort the entries, you can assign it to a row-major matrix, and if a column-major matrix + * is required, you can copy it again: + * \code + * SparseMatrix<double> R = qr.matrixR(); // column-major, not sorted! + * SparseMatrix<double,RowMajor> Rr = qr.matrixR(); // row-major, sorted + * SparseMatrix<double> Rc = Rr; // column-major, sorted + * \endcode */ const QRMatrixType& matrixR() const { return m_R; } |