|
| | Qrd () |
| |
| template<class T > |
| | Qrd (const MatrixBase< T > &a, Mode mode=Mode::reduced) |
| | Calculate the QRD of matrix A. More...
|
| |
| template<class T > |
| Qrd & | calc (const MatrixBase< T > &a, Mode mode=Mode::reduced) |
| | Calculate the QRD of matrix A. More...
|
| |
| bool | isFullRank () const |
| | Check if the decomposed matrix has full rank (ie. all vectors are linearly independent; no vector is a linear combination of others) More...
|
| |
| template<class B , class X > |
| void | solve (const MatrixBase< B > &b, MatrixBase< X > &x) |
| | Solve the linear system where A is the decomposed matrix. A and B row sizes must match. A must have full rank. More...
|
| |
| const Matrix & | q () const |
| | Get Q of the decomposition. More...
|
| |
| const Matrix & | r () const |
| | Get R of the decomposition. More...
|
| |
| const Matrix & | h () const |
| | Get the Householder column vectors that define the reflections. H is a (m x n) lower trapazoidal matrix. More...
|
| |
template<class Real>
class honey::Qrd< Real >
QR Decomposition. Can be used to solve least squares problems.
The reduced QRD of (m x n) matrix A with m >= n is:
where Q is an orthogonal (m x n) matrix, and R is an upper triangular (n x n) matrix.
The full QRD is:
where Q is (m x m) and 0 is (m-n x n).
Most linear systems do not require the full QRD to solve.
Complexity: