|
MyraMath
|
Routines to compute a Householder LQ decomposition. More...
#include <myramath/MYRAMATH_EXPORT.h>#include <myramath/utility/Number.h>#include <myramath/dense/Vector.h>Go to the source code of this file.
Classes | |
| class | myra::CMatrixRange< Number > |
| Represents a const MatrixRange. More... | |
| class | myra::MatrixRange< Number > |
| Represents a mutable MatrixRange. More... | |
Routines to compute a Householder LQ decomposition.
The orthogonal matrix Q is not tabulated explicitly, rather it
is stored in factored form (a rank-K perturbation of the identity,
a product of rank-1 Householder reflectors). This factored form
overwrites the strictly upper triangle portion of the input A.
The triangular (or trapezoidal) matrix L is tabulated explicity
and overwrites the lower triangle of A. There are three shapes
to consider:
Case 1 (A tall/skinny), I > J:
[\ R ]
A = L * Q [ \ ]
IxJ IxJ JxJ [ \ ]
(rank J) [ \]
[ H ]
[ ]
[ ]
Case 2 (A short/fat), I < J:
A = L * Q [\ ]
IxJ IxJ JxJ [ \ H ]
(rank I) [L \ ]
Case 3 (A square), I = J = K:
[\ H]
A = L * Q [ \ ]
KxK KxK KxK [ \ ]
(rank K) [L \]
In all cases, if K = min(I,J), then Q is a rank-K pertubation of the JxJ identity, and L is IxJ.
1.8.13