Logo Search packages:      
Sourcecode: eigen3 version File versions  Download package

Public Types | Public Member Functions | Protected Attributes

ColPivHouseholderQR< _MatrixType > Class Template Reference

Householder rank-revealing QR decomposition of a matrix with column-pivoting. More...

#include <ColPivHouseholderQR.h>

Collaboration diagram for ColPivHouseholderQR< _MatrixType >:
Collaboration graph
[legend]

List of all members.

Public Types

enum  {
  RowsAtCompileTime = MatrixType::RowsAtCompileTime, ColsAtCompileTime = MatrixType::ColsAtCompileTime, Options = MatrixType::Options, MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime,
  MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime
}
typedef
internal::plain_diag_type
< MatrixType >::type 
HCoeffsType
typedef HouseholderSequence
< MatrixType, HCoeffsType >
::ConjugateReturnType 
HouseholderSequenceType
typedef MatrixType::Index Index
typedef
internal::plain_row_type
< MatrixType, Index >::type 
IntRowVectorType
typedef Matrix< Scalar,
RowsAtCompileTime,
RowsAtCompileTime, Options,
MaxRowsAtCompileTime,
MaxRowsAtCompileTime > 
MatrixQType
typedef _MatrixType MatrixType
typedef PermutationMatrix
< ColsAtCompileTime,
MaxColsAtCompileTime > 
PermutationType
typedef
internal::plain_row_type
< MatrixType, RealScalar >
::type 
RealRowVectorType
typedef MatrixType::RealScalar RealScalar
typedef
internal::plain_row_type
< MatrixType >::type 
RowVectorType
typedef MatrixType::Scalar Scalar

Public Member Functions

MatrixType::RealScalar absDeterminant () const
 ColPivHouseholderQR ()
 Default Constructor.
 ColPivHouseholderQR (Index rows, Index cols)
 Default Constructor with memory preallocation.
 ColPivHouseholderQR (const MatrixType &matrix)
Index cols () const
const PermutationTypecolsPermutation () const
ColPivHouseholderQRcompute (const MatrixType &matrix)
Index dimensionOfKernel () const
const HCoeffsTypehCoeffs () const
HouseholderSequenceType householderQ (void) const
const internal::solve_retval
< ColPivHouseholderQR,
typename
MatrixType::IdentityReturnType > 
inverse () const
bool isInjective () const
bool isInvertible () const
bool isSurjective () const
MatrixType::RealScalar logAbsDeterminant () const
const MatrixType & matrixQR () const
RealScalar maxPivot () const
Index nonzeroPivots () const
Index rank () const
Index rows () const
ColPivHouseholderQRsetThreshold (Default_t)
ColPivHouseholderQRsetThreshold (const RealScalar &threshold)
template<typename Rhs >
const internal::solve_retval
< ColPivHouseholderQR, Rhs > 
solve (const MatrixBase< Rhs > &b) const
RealScalar threshold () const

Protected Attributes

PermutationType m_colsPermutation
RealRowVectorType m_colSqNorms
IntRowVectorType m_colsTranspositions
Index m_det_pq
HCoeffsType m_hCoeffs
bool m_isInitialized
RealScalar m_maxpivot
Index m_nonzero_pivots
RealScalar m_prescribedThreshold
MatrixType m_qr
RowVectorType m_temp
bool m_usePrescribedThreshold

Detailed Description

template<typename _MatrixType>
class ColPivHouseholderQR< _MatrixType >

Householder rank-revealing QR decomposition of a matrix with column-pivoting.

Parameters:
MatrixTypethe type of the matrix of which we are computing the QR decomposition

This class performs a rank-revealing QR decomposition of a matrix A into matrices P, Q and R such that

\[ \mathbf{A} \, \mathbf{P} = \mathbf{Q} \, \mathbf{R} \]

by using Householder transformations. Here, P is a permutation matrix, Q a unitary matrix and R an upper triangular matrix.

This decomposition performs column pivoting in order to be rank-revealing and improve numerical stability. It is slower than HouseholderQR, and faster than FullPivHouseholderQR.

See also:
MatrixBase::colPivHouseholderQr()

Definition at line 50 of file ColPivHouseholderQR.h.


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

Generated by  Doxygen 1.6.0   Back to index