static Matrix generateDenseOrthonormalRandom(int m, int n, Random rnd) { Matrix result = new DenseMatrix(m, n); for (int j = 0; j < n; j++) { for (int i = 0; i < m; i++) { result.setQuick(i, j, rnd.nextDouble() - 0.5); } } GramSchmidt.orthonormalizeColumns(result); SSVDCommonTest.assertOrthonormality(result, false, 1.0e-10); return result; }