This function computes the QR decomposition of matrix \(A\) using Householder reflections. The QR decomposition is defined as:
where \(A\) is the input matrix of size \(m \times n\) (\(m \geq n\)). \(Q\) is an orthonormal matrix of size \(m \times n\), and \(R\) is an upper-triangular matrix of size \(n \times n\).
Each Householder reflector has the form \(H = I - \beta v v^*\), where \(v\) is the Householder vector and \(\beta = \frac{2}{v^* v}\). Applying a sequence of these reflectors zeros out the sub-diagonal entries of \(A\) column by column, yielding \(R\). The accumulated reflectors produce \(Q\).
The QRD-HH library element has configurable data types and matrix sizes, a configurable number of frames, and support for a cascaded kernel implementation to scale to larger matrix dimensions.