Please, help us to better know about our user community by answering the following short survey: https://forms.gle/wpyrxWi18ox9Z5ae9 Eigen  3.3.9 Eigen::SPQR< _MatrixType > Class Template Reference

## Detailed Description

### template<typename _MatrixType> class Eigen::SPQR< _MatrixType >

Sparse QR factorization based on SuiteSparseQR library.

This class is used to perform a multithreaded and multifrontal rank-revealing QR decomposition of sparse matrices. The result is then used to solve linear leasts_square systems. Clearly, a QR factorization is returned such that A*P = Q*R where :

P is the column permutation. Use colsPermutation() to get it.

Q is the orthogonal matrix represented as Householder reflectors. Use matrixQ() to get an expression and matrixQ().transpose() to get the transpose. You can then apply it to a vector.

R is the sparse triangular factor. Use matrixQR() to get it as SparseMatrix. NOTE : The Index type of R is always SuiteSparse_long. You can get it with SPQR::Index

Template Parameters
 _MatrixType The type of the sparse matrix A, must be a column-major SparseMatrix<>

This class follows the sparse solver concept .

## Public Member Functions

cholmod_common * cholmodCommon () const

Index cols () const

PermutationType colsPermutation () const
Get the permutation that was applied to columns of A.

ComputationInfo info () const
Reports whether previous computation was successful. More...

SPQRMatrixQReturnType< SPQRmatrixQ () const
Get an expression of the matrix Q.

const MatrixType matrixR () const

Index rank () const

Index rows () const

void setPivotThreshold (const RealScalar &tol)
Set the tolerance tol to treat columns with 2-norm < =tol as zero.

void setSPQROrdering (int ord)
Set the fill-reducing ordering method to be used.

## ◆ cholmodCommon()

template<typename _MatrixType >
 cholmod_common* Eigen::SPQR< _MatrixType >::cholmodCommon ( ) const
inline
Returns
a pointer to the SPQR workspace

## ◆ cols()

template<typename _MatrixType >
 Index Eigen::SPQR< _MatrixType >::cols ( void ) const
inline

Get the number of columns of the input matrix.

## ◆ info()

template<typename _MatrixType >
 ComputationInfo Eigen::SPQR< _MatrixType >::info ( ) const
inline

Reports whether previous computation was successful.

Returns
Success if computation was succesful, NumericalIssue if the sparse QR can not be computed

## ◆ matrixR()

template<typename _MatrixType >
 const MatrixType Eigen::SPQR< _MatrixType >::matrixR ( ) const
inline
Returns
the sparse triangular factor R. It is a sparse matrix

## ◆ rank()

template<typename _MatrixType >
 Index Eigen::SPQR< _MatrixType >::rank ( ) const
inline

Gets the rank of the matrix. It should be equal to matrixQR().cols if the matrix is full-rank

## ◆ rows()

template<typename _MatrixType >
 Index Eigen::SPQR< _MatrixType >::rows ( void ) const
inline

Get the number of rows of the input matrix and the Q matrix

The documentation for this class was generated from the following file: