mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-09-24 23:33:13 +08:00
Doc: add an example for HouseholderQR::householderQ()
This commit is contained in:
parent
eee34f2da4
commit
9a97dac4d9
@ -128,6 +128,14 @@ template<typename _MatrixType> class HouseholderQR
|
|||||||
return internal::solve_retval<HouseholderQR, Rhs>(*this, b.derived());
|
return internal::solve_retval<HouseholderQR, Rhs>(*this, b.derived());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 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: \include HouseholderQR_householderQ.cpp
|
||||||
|
* Output: \verbinclude HouseholderQR_householderQ.out
|
||||||
|
*/
|
||||||
HouseholderSequenceType householderQ() const
|
HouseholderSequenceType householderQ() const
|
||||||
{
|
{
|
||||||
eigen_assert(m_isInitialized && "HouseholderQR is not initialized.");
|
eigen_assert(m_isInitialized && "HouseholderQR is not initialized.");
|
||||||
|
7
doc/snippets/HouseholderQR_householderQ.cpp
Normal file
7
doc/snippets/HouseholderQR_householderQ.cpp
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
MatrixXf A(MatrixXf::Random(5,3)), thinQ(MatrixXf::Identity(5,3)), Q;
|
||||||
|
A.setRandom();
|
||||||
|
HouseholderQR<MatrixXf> qr(A);
|
||||||
|
Q = qr.householderQ();
|
||||||
|
thinQ = qr.householderQ() * thinQ;
|
||||||
|
std::cout << "The complete unitary matrix Q is:\n" << Q << "\n\n";
|
||||||
|
std::cout << "The thin matrix Q is:\n" << thinQ << "\n\n";
|
Loading…
x
Reference in New Issue
Block a user