|
Medial Code Documentation
|
Householder QR decomposition of a matrix. More...
#include <HouseholderQR.h>
Public Types | |
| enum | { MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime , MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime } |
| typedef _MatrixType | MatrixType |
| typedef SolverBase< HouseholderQR > | Base |
| 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, typename internal::remove_all< typename HCoeffsType::ConjugateReturnType >::type > | HouseholderSequenceType |
Public Types inherited from Eigen::SolverBase< HouseholderQR< _MatrixType > > | |
| enum | |
| typedef EigenBase< HouseholderQR< _MatrixType > > | Base |
| typedef internal::traits< HouseholderQR< _MatrixType > >::Scalar | Scalar |
| typedef Scalar | CoeffReturnType |
| typedef Transpose< const HouseholderQR< _MatrixType > > | ConstTransposeReturnType |
| typedef internal::conditional< NumTraits< Scalar >::IsComplex, CwiseUnaryOp< internal::scalar_conjugate_op< Scalar >, constConstTransposeReturnType >, constConstTransposeReturnType >::type | AdjointReturnType |
Public Types inherited from Eigen::EigenBase< Derived > | |
| typedef Eigen::Index | Index |
| The interface type of indices. | |
| typedef internal::traits< Derived >::StorageKind | StorageKind |
Public Member Functions | |
| HouseholderQR () | |
| Default Constructor. | |
| HouseholderQR (Index rows, Index cols) | |
| Default Constructor with memory preallocation. | |
| template<typename InputType > | |
| HouseholderQR (const EigenBase< InputType > &matrix) | |
| Constructs a QR factorization from a given matrix. | |
| template<typename InputType > | |
| HouseholderQR (EigenBase< InputType > &matrix) | |
| Constructs a QR factorization from a given matrix. | |
| HouseholderSequenceType | householderQ () const |
| This method returns an expression of the unitary matrix Q as a sequence of Householder transformations. | |
| const MatrixType & | matrixQR () const |
| template<typename InputType > | |
| HouseholderQR & | compute (const EigenBase< InputType > &matrix) |
| MatrixType::RealScalar | absDeterminant () const |
| MatrixType::RealScalar | logAbsDeterminant () const |
| Index | rows () const |
| Index | cols () const |
| const HCoeffsType & | hCoeffs () const |
| template<typename RhsType , typename DstType > | |
| void | _solve_impl (const RhsType &rhs, DstType &dst) const |
| template<bool Conjugate, typename RhsType , typename DstType > | |
| void | _solve_impl_transposed (const RhsType &rhs, DstType &dst) const |
Public Member Functions inherited from Eigen::SolverBase< HouseholderQR< _MatrixType > > | |
| SolverBase () | |
| Default constructor. | |
| const Solve< HouseholderQR< _MatrixType >, Rhs > | solve (const MatrixBase< Rhs > &b) const |
| const ConstTransposeReturnType | transpose () const |
| const AdjointReturnType | adjoint () const |
| EIGEN_DEVICE_FUNC HouseholderQR< _MatrixType > & | derived () |
| EIGEN_DEVICE_FUNC const HouseholderQR< _MatrixType > & | derived () const |
Public Member Functions inherited from Eigen::EigenBase< Derived > | |
| EIGEN_DEVICE_FUNC Derived & | derived () |
| EIGEN_DEVICE_FUNC const Derived & | derived () const |
| EIGEN_DEVICE_FUNC Derived & | const_cast_derived () const |
| EIGEN_DEVICE_FUNC const Derived & | const_derived () const |
| EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index | rows () const EIGEN_NOEXCEPT |
| EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index | cols () const EIGEN_NOEXCEPT |
| EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index | size () const EIGEN_NOEXCEPT |
| template<typename Dest > | |
| EIGEN_DEVICE_FUNC void | evalTo (Dest &dst) const |
| template<typename Dest > | |
| EIGEN_DEVICE_FUNC void | addTo (Dest &dst) const |
| template<typename Dest > | |
| EIGEN_DEVICE_FUNC void | subTo (Dest &dst) const |
| template<typename Dest > | |
| EIGEN_DEVICE_FUNC void | applyThisOnTheRight (Dest &dst) const |
| template<typename Dest > | |
| EIGEN_DEVICE_FUNC void | applyThisOnTheLeft (Dest &dst) const |
Protected Member Functions | |
| void | computeInPlace () |
| Performs the QR factorization of the given matrix matrix. | |
Protected Member Functions inherited from Eigen::SolverBase< HouseholderQR< _MatrixType > > | |
| void | _check_solve_assertion (const Rhs &b) const |
Static Protected Member Functions | |
| static void | check_template_parameters () |
Protected Attributes | |
| MatrixType | m_qr |
| HCoeffsType | m_hCoeffs |
| RowVectorType | m_temp |
| bool | m_isInitialized |
Friends | |
| class | SolverBase< HouseholderQR > |
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.
This class supports the inplace decomposition mechanism.
|
inline |
Default Constructor.
The default constructor is useful in cases in which the user intends to perform decompositions via HouseholderQR::compute(const MatrixType&).
|
inline |
Default Constructor with memory preallocation.
Like the default constructor but with preallocation of the internal data according to the specified problem size.
|
inlineexplicit |
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:
|
inlineexplicit |
Constructs a QR factorization from a given matrix.
This overloaded constructor is provided for inplace decomposition when MatrixType is a Eigen::Ref.
| MatrixType::RealScalar Eigen::HouseholderQR< MatrixType >::absDeterminant | ( | ) | const |
|
protected |
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.
|
inline |
Q.For advanced uses only.
|
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:
| MatrixType::RealScalar Eigen::HouseholderQR< MatrixType >::logAbsDeterminant | ( | ) | const |
|
inline |