// see if Q has the expected properties
assertTrue(Q.isOrthogonal(1e-8));
// see if it has the expected properties
R = R.reshape(A.rowCount(), A.columnCount());
Matrix A_found = Multiplications.multiply(Q, R);
A.epsilonEquals(A_found,1e-6);
assertTrue(Multiplications.multiply(Q.getTranspose(),A).epsilonEquals(R,1e-6));
}