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
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 55 of file HouseholderQR.h.
#include <src/QR/HouseholderQR.h>
Public Types | |
enum | { RowsAtCompileTime = MatrixType::RowsAtCompileTime, ColsAtCompileTime = MatrixType::ColsAtCompileTime, Options = MatrixType::Options, MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime, MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime } |
typedef _MatrixType | MatrixType |
typedef MatrixType::Scalar | Scalar |
typedef MatrixType::RealScalar | RealScalar |
typedef MatrixType::Index | Index |
typedef Matrix< Scalar, RowsAtCompileTime, RowsAtCompileTime,(MatrixType::Flags &RowMajorBit)?RowMajor:ColMajor, MaxRowsAtCompileTime, MaxRowsAtCompileTime > | MatrixQType |
typedef internal::plain_diag_type < MatrixType >::type | HCoeffsType |
typedef internal::plain_row_type < MatrixType >::type | RowVectorType |
typedef HouseholderSequence < MatrixType, HCoeffsType > ::ConjugateReturnType | HouseholderSequenceType |
Public Member Functions | |
HouseholderQR () | |
Default Constructor. | |
HouseholderQR (Index rows, Index cols) | |
Default Constructor with memory preallocation. | |
HouseholderQR (const MatrixType &matrix) | |
template<typename Rhs > | |
const internal::solve_retval < HouseholderQR, Rhs > | solve (const MatrixBase< Rhs > &b) const |
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. | |
HouseholderSequenceType | householderQ () const |
const MatrixType & | matrixQR () const |
HouseholderQR & | compute (const MatrixType &matrix) |
MatrixType::RealScalar | absDeterminant () const |
MatrixType::RealScalar | logAbsDeterminant () const |
Index | rows () const |
Index | cols () const |
const HCoeffsType & | hCoeffs () const |
Protected Attributes | |
MatrixType | m_qr |
HCoeffsType | m_hCoeffs |
RowVectorType | m_temp |
bool | m_isInitialized |
typedef internal::plain_diag_type<MatrixType>::type HouseholderQR< _MatrixType >::HCoeffsType |
Definition at line 71 of file HouseholderQR.h.
typedef HouseholderSequence<MatrixType,HCoeffsType>::ConjugateReturnType HouseholderQR< _MatrixType >::HouseholderSequenceType |
Definition at line 73 of file HouseholderQR.h.
typedef MatrixType::Index HouseholderQR< _MatrixType >::Index |
Definition at line 69 of file HouseholderQR.h.
typedef Matrix<Scalar, RowsAtCompileTime, RowsAtCompileTime, (MatrixType::Flags&RowMajorBit) ? RowMajor : ColMajor, MaxRowsAtCompileTime, MaxRowsAtCompileTime> HouseholderQR< _MatrixType >::MatrixQType |
Definition at line 70 of file HouseholderQR.h.
typedef _MatrixType HouseholderQR< _MatrixType >::MatrixType |
Definition at line 59 of file HouseholderQR.h.
typedef MatrixType::RealScalar HouseholderQR< _MatrixType >::RealScalar |
Definition at line 68 of file HouseholderQR.h.
typedef internal::plain_row_type<MatrixType>::type HouseholderQR< _MatrixType >::RowVectorType |
Definition at line 72 of file HouseholderQR.h.
typedef MatrixType::Scalar HouseholderQR< _MatrixType >::Scalar |
Definition at line 67 of file HouseholderQR.h.
anonymous enum |
Definition at line 60 of file HouseholderQR.h.
HouseholderQR< _MatrixType >::HouseholderQR | ( | ) | [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 81 of file HouseholderQR.h.
HouseholderQR< _MatrixType >::HouseholderQR | ( | Index | rows, |
Index | cols | ||
) | [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 89 of file HouseholderQR.h.
HouseholderQR< _MatrixType >::HouseholderQR | ( | const MatrixType & | matrix | ) | [inline] |
Definition at line 95 of file HouseholderQR.h.
References HouseholderQR< _MatrixType >::compute().
MatrixType::RealScalar HouseholderQR< MatrixType >::absDeterminant | ( | ) | const |
Definition at line 187 of file HouseholderQR.h.
References abs(), and eigen_assert.
Index HouseholderQR< _MatrixType >::cols | ( | void | ) | const [inline] |
Definition at line 176 of file HouseholderQR.h.
References HouseholderQR< _MatrixType >::m_qr.
HouseholderQR< MatrixType > & HouseholderQR< MatrixType >::compute | ( | const MatrixType & | matrix | ) |
Definition at line 326 of file HouseholderQR.h.
References internal::householder_qr_inplace_blocked(), HouseholderQR< _MatrixType >::rows(), and mrpt::math::size().
Referenced by HouseholderQR< _MatrixType >::HouseholderQR().
const HCoeffsType& HouseholderQR< _MatrixType >::hCoeffs | ( | ) | const [inline] |
Definition at line 177 of file HouseholderQR.h.
References HouseholderQR< _MatrixType >::m_hCoeffs.
HouseholderSequenceType HouseholderQR< _MatrixType >::householderQ | ( | void | ) | const [inline] |
Definition at line 129 of file HouseholderQR.h.
References eigen_assert, HouseholderQR< _MatrixType >::m_hCoeffs, HouseholderQR< _MatrixType >::m_isInitialized, and HouseholderQR< _MatrixType >::m_qr.
Referenced by internal::qr_preconditioner_impl< MatrixType, HouseholderQRPreconditioner, PreconditionIfMoreRowsThanCols, true >::run().
MatrixType::RealScalar HouseholderQR< MatrixType >::logAbsDeterminant | ( | ) | const |
Definition at line 195 of file HouseholderQR.h.
References eigen_assert.
const MatrixType& HouseholderQR< _MatrixType >::matrixQR | ( | ) | const [inline] |
Definition at line 138 of file HouseholderQR.h.
References eigen_assert, HouseholderQR< _MatrixType >::m_isInitialized, and HouseholderQR< _MatrixType >::m_qr.
Referenced by internal::qr_preconditioner_impl< MatrixType, HouseholderQRPreconditioner, PreconditionIfMoreRowsThanCols, true >::run().
Index HouseholderQR< _MatrixType >::rows | ( | void | ) | const [inline] |
Definition at line 175 of file HouseholderQR.h.
References HouseholderQR< _MatrixType >::m_qr.
Referenced by HouseholderQR< _MatrixType >::compute().
const internal::solve_retval<HouseholderQR, Rhs> HouseholderQR< _MatrixType >::solve | ( | const MatrixBase< Rhs > & | b | ) | const [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 123 of file HouseholderQR.h.
References eigen_assert, and HouseholderQR< _MatrixType >::m_isInitialized.
HCoeffsType HouseholderQR< _MatrixType >::m_hCoeffs [protected] |
Definition at line 181 of file HouseholderQR.h.
Referenced by HouseholderQR< _MatrixType >::hCoeffs(), and HouseholderQR< _MatrixType >::householderQ().
bool HouseholderQR< _MatrixType >::m_isInitialized [protected] |
Definition at line 183 of file HouseholderQR.h.
Referenced by HouseholderQR< _MatrixType >::householderQ(), HouseholderQR< _MatrixType >::matrixQR(), and HouseholderQR< _MatrixType >::solve().
MatrixType HouseholderQR< _MatrixType >::m_qr [protected] |
Definition at line 180 of file HouseholderQR.h.
Referenced by HouseholderQR< _MatrixType >::cols(), HouseholderQR< _MatrixType >::householderQ(), HouseholderQR< _MatrixType >::matrixQR(), and HouseholderQR< _MatrixType >::rows().
RowVectorType HouseholderQR< _MatrixType >::m_temp [protected] |
Definition at line 182 of file HouseholderQR.h.
Page generated by Doxygen 1.7.3 for MRPT 0.9.4 SVN: at Sat Mar 26 06:40:17 UTC 2011 |