Mirrors the C# QRDecomposition class (Householder reflections): decomposes the M x N
matrix a into an M x M orthogonal matrix q and an M x N upper triangular matrix
r such that q %*% r reproduces a. The C# RMatrix property is named r here (R
has no naming collision in this package, unlike in the C# codebase).