|
tesseract++ 0.0.1
N-dimensional tensor library for embedded systems
|
Householder QR decomposition for rectangular matrices. More...
#include "config.h"#include "fused/fused_matrix.h"#include "fused/fused_vector.h"#include "math/math_utils.h"

Go to the source code of this file.
Classes | |
| struct | matrix_algorithms::QRResult< T, M, N > |
| Result of Householder QR decomposition. More... | |
Namespaces | |
| namespace | matrix_algorithms |
Functions | |
| template<typename T , my_size_t M, my_size_t N> | |
| QRResult< T, M, N > | matrix_algorithms::qr_householder (const FusedMatrix< T, M, N > &A) |
| Compute the Householder QR decomposition of a rectangular matrix. | |
Householder QR decomposition for rectangular matrices.
Decomposes A (M×N, M≥N) into Q·R where:
Compact storage stores R in the upper triangle and Householder vectors below the diagonal (with implicit leading 1), plus a tau vector of scaling factors. Q() and R() extract the full matrices when needed.
For each column j = 0 … N−1:
Q is recovered by accumulating the Householder reflections in reverse order.
Complexity: O(2MN² − 2N³/3) for the factorization. O(2M²N − 2MN²/3) additionally to form Q.