|
MyraMath
|
Routines to compute a Householder QR 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 QR 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 lower triangle portion of the input A.
The triangular (or trapezoidal) matrix R is tabulated explicity
and overwrites the upper triangle of A. There are three shapes
to consider:
Case 1 (A tall/skinny), I > J:
[\ R ]
A = Q * R [ \ ]
IxJ IxI IxJ [ \ ]
(rank J) [ \]
[ H ]
[ ]
[ ]
Case 2 (A short/fat), I < J:
A = Q * R [\ ]
IxJ IxI IxJ [ \ R ]
(rank I) [H \ ]
Case 3 (A square), I = J = K:
[\ R]
A = Q * R [ \ ]
KxK KxK KxK [ \ ]
(rank K) [H \]
In all cases, if K = min(I,J), then Q is a rank-K pertubation of the IxI identity, and R is IxJ.
1.8.13