double e = eigenvalues.get(eigenvalues.size() - i - 1);
log.info("{} : L = {}, E = {}", new Object[] {i, s, e});
assertTrue("Singular value differs from eigenvalue", Math.abs((s-e)/e) < ERROR_TOLERANCE);
Vector v = state.getRightSingularVector(i);
Vector v2 = decomposition.getV().viewColumn(eigenvalues.size() - i - 1).toVector();
double error = 1 - Math.abs(v.dot(v2)/(v.norm(2) * v2.norm(2)));
log.info("error: {}", error);
assertTrue(i + ": 1 - cosAngle = " + error, error < ERROR_TOLERANCE);
}
}