QRF, also known as QR decomposition, is a decomposition of a matrix \(A\) into a product of an orthogonal matrix \(Q\) and an upper triangular matrix \(R\).
QRF is often used to solve the linear least squares problem and is the basis for a particular eigenvalue algorithm, the QR algorithm.
\[A = Q R\]
There are several methods for actually computing the QR decomposition, such as by means of the Gram-Schmidt process, Householder transformations, or Givens rotations. Each has a number of advantages and disadvantages. For more details, please refer: QR_decomposition.
In our design, Given rotations is used.