protected static void qr(double[,] m, out double[,] Q, out double[,] R) { var qr = new QrDecomposition(m); Q = qr.OrthogonalFactor; R = qr.UpperTriangularFactor; }