Householder QR decomposition of a matrix. More...
#include <ForwardDeclarations.h>
| 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, typename internal::remove_all< typename HCoeffsType::ConjugateReturnType >::type > | HouseholderSequenceType | 
| typedef MatrixType::Index | Index | 
| typedef Matrix< Scalar, RowsAtCompileTime, RowsAtCompileTime,(MatrixType::Flags &RowMajorBit)?RowMajor:ColMajor, MaxRowsAtCompileTime, MaxRowsAtCompileTime > | MatrixQType | 
| typedef _MatrixType | MatrixType | 
| typedef MatrixType::RealScalar | RealScalar | 
| typedef internal::plain_row_type< MatrixType >::type | RowVectorType | 
| typedef MatrixType::Scalar | Scalar | 
| Public Member Functions | |
| MatrixType::RealScalar | absDeterminant () const | 
| Index | cols () const | 
| HouseholderQR & | compute (const MatrixType &matrix) | 
| const HCoeffsType & | hCoeffs () const | 
| HouseholderSequenceType | householderQ () const | 
| HouseholderQR () | |
| Default Constructor.  More... | |
| HouseholderQR (Index rows, Index cols) | |
| Default Constructor with memory preallocation.  More... | |
| HouseholderQR (const MatrixType &matrix) | |
| Constructs a QR factorization from a given matrix.  More... | |
| MatrixType::RealScalar | logAbsDeterminant () const | 
| const MatrixType & | matrixQR () const | 
| Index | rows () const | 
| template<typename Rhs > | |
| const internal::solve_retval< HouseholderQR, Rhs > | solve (const MatrixBase< Rhs > &b) const | 
| Protected Attributes | |
| HCoeffsType | m_hCoeffs | 
| bool | m_isInitialized | 
| MatrixType | m_qr | 
| RowVectorType | m_temp | 
Householder QR decomposition of a matrix.
| MatrixType | the type of the matrix of which we are computing the QR decomposition | 
This class performs a QR decomposition of a matrix A into matrices Q and R such that
![\[ \mathbf{A} = \mathbf{Q} \, \mathbf{R} \]](form_179.png) 
by using Householder transformations. Here, Q a unitary matrix and R an upper triangular matrix. The result is stored in a compact way compatible with LAPACK.
Note that no pivoting is performed. This is not a rank-revealing decomposition. If you want that feature, use FullPivHouseholderQR or ColPivHouseholderQR instead.
This Householder QR decomposition is faster, but less numerically stable and less feature-full than FullPivHouseholderQR or ColPivHouseholderQR.
Definition at line 221 of file ForwardDeclarations.h.
| typedef internal::plain_diag_type<MatrixType>::type Eigen::HouseholderQR< _MatrixType >::HCoeffsType | 
Definition at line 58 of file HouseholderQR.h.
| typedef HouseholderSequence<MatrixType,typename internal::remove_all<typename HCoeffsType::ConjugateReturnType>::type> Eigen::HouseholderQR< _MatrixType >::HouseholderSequenceType | 
Definition at line 60 of file HouseholderQR.h.
| typedef MatrixType::Index Eigen::HouseholderQR< _MatrixType >::Index | 
Definition at line 56 of file HouseholderQR.h.
| typedef Matrix<Scalar, RowsAtCompileTime, RowsAtCompileTime, (MatrixType::Flags&RowMajorBit) ? RowMajor : ColMajor, MaxRowsAtCompileTime, MaxRowsAtCompileTime> Eigen::HouseholderQR< _MatrixType >::MatrixQType | 
Definition at line 57 of file HouseholderQR.h.
| typedef _MatrixType Eigen::HouseholderQR< _MatrixType >::MatrixType | 
Definition at line 46 of file HouseholderQR.h.
| typedef MatrixType::RealScalar Eigen::HouseholderQR< _MatrixType >::RealScalar | 
Definition at line 55 of file HouseholderQR.h.
| typedef internal::plain_row_type<MatrixType>::type Eigen::HouseholderQR< _MatrixType >::RowVectorType | 
Definition at line 59 of file HouseholderQR.h.
| typedef MatrixType::Scalar Eigen::HouseholderQR< _MatrixType >::Scalar | 
Definition at line 54 of file HouseholderQR.h.
| anonymous enum | 
| Enumerator | |
|---|---|
| RowsAtCompileTime | |
| ColsAtCompileTime | |
| Options | |
| MaxRowsAtCompileTime | |
| MaxColsAtCompileTime | |
Definition at line 47 of file HouseholderQR.h.
| 
 | inline | 
Default Constructor.
The default constructor is useful in cases in which the user intends to perform decompositions via HouseholderQR::compute(const MatrixType&).
Definition at line 68 of file HouseholderQR.h.
| 
 | inline | 
Default Constructor with memory preallocation.
Like the default constructor but with preallocation of the internal data according to the specified problem size.
Definition at line 76 of file HouseholderQR.h.
| 
 | inline | 
Constructs a QR factorization from a given matrix.
This constructor computes the QR factorization of the matrix matrix by calling the method compute(). It is a short cut for:
Definition at line 94 of file HouseholderQR.h.
| MatrixType::RealScalar Eigen::HouseholderQR< MatrixType >::absDeterminant | ( | ) | const | 
Definition at line 199 of file HouseholderQR.h.
| 
 | inline | 
Definition at line 183 of file HouseholderQR.h.
| HouseholderQR< MatrixType > & Eigen::HouseholderQR< MatrixType >::compute | ( | const MatrixType & | matrix | ) | 
Performs the QR factorization of the given matrix matrix. The result of the factorization is stored into *this, and a reference to *this is returned.
Definition at line 344 of file HouseholderQR.h.
| 
 | inline | 
Q.For advanced uses only.
Definition at line 189 of file HouseholderQR.h.
| 
 | inline | 
This method returns an expression of the unitary matrix Q as a sequence of Householder transformations.
The returned expression can directly be used to perform matrix products. It can also be assigned to a dense Matrix object. Here is an example showing how to recover the full or thin matrix Q, as well as how to perform matrix products using operator*:
Example:
Output:
Definition at line 136 of file HouseholderQR.h.
| MatrixType::RealScalar Eigen::HouseholderQR< MatrixType >::logAbsDeterminant | ( | ) | const | 
Definition at line 208 of file HouseholderQR.h.
| 
 | inline | 
Definition at line 145 of file HouseholderQR.h.
| 
 | inline | 
Definition at line 182 of file HouseholderQR.h.
| 
 | inline | 
This method finds a solution x to the equation Ax=b, where A is the matrix of which *this is the QR decomposition, if any exists.
| b | the right-hand-side of the equation to solve. | 
Example:
Output:
Definition at line 122 of file HouseholderQR.h.
| 
 | protected | 
Definition at line 193 of file HouseholderQR.h.
| 
 | protected | 
Definition at line 195 of file HouseholderQR.h.
| 
 | protected | 
Definition at line 192 of file HouseholderQR.h.
| 
 | protected | 
Definition at line 194 of file HouseholderQR.h.