Repository navigation
Use scale-relative tolerance for null-mode filtering - #437
Conversation
jimboid
left a comment
There was a problem hiding this comment.
This fix looks like it will fix the issue with random failing tests. One thing to note, pinning coretype to haswell like that has unintended consequences. Haswell is intel chip architecture, does it fail gracefully on arm and amd chips which are becoming more common on cluster machines and cloud?
skfegan
left a comment
There was a problem hiding this comment.
Looks like it will work. It makes sense to take advantage of the symmetry of the matrices.
63ed82c to
182cda5
Compare
…merical-robustness
I agree with this, I'm not 100% happy with this direction either so what I have done for now is reverse the pinning of the coretype and just left the initial fix. I've done this because I have done some more digging around and I have identified that there is a similar issue in MDAnalysis's |
|
sounds good to me. Sarah is happy to too, so think you should merge. |
Summary
This PR is one step towards resolving #436, regression tests intermittently failing on CI but passing on rerun. It fixes a genuine numerical bug in the entropy calculation's null-mode filtering. This is not a complete fix for #436, some intermittent failures may still occur from a separate, unrelated cause that will be addressed separately.
Changes
Scale-relative null-mode filtering in vibrational entropy
numpy.linalg.eigvalsh) instead of a general one, since the matrices involved are always symmetric.numpy.linalg.matrix_rankuses to separate numerical noise from a genuine near-zero value.Impact