Open gspr opened 3 hours ago
It will only fail if the other diagram is empty: for every normal, i.e., off-diagonal, point I add a diagonal projection of this point to the other diagram. User input is not supposed to have those. I think I have some shortcut that checks for empty diagram case before I actually get to the auction (in that case everything is matched to the diagonal and the distance is (the root of) the sum of persistences of every point of the non-empty diagram raised to the appropriate power).
It will only fail if the other diagram is empty: for every normal, i.e., off-diagonal, point I add a diagonal projection of this point to the other diagram. User input is not supposed to have those. I think I have some shortcut that checks for empty diagram case before I actually get to the auction (in that case everything is matched to the diagonal and the distance is (the root of) the sum of persistences of every point of the non-empty diagram raised to the appropriate power).
Thanks for the super quick reply! Maybe I'm confused, but this does seem to crop up in a test in GUDHI.
I looked at the failing tests; the problem was that I did not consider diagrams that only include points at infinity as empty. I modified the logic accordingly, so the execution now should not reach the assertion for diag9, diag10. Can you pull the latest commit and verify that your tests pass now?
This assertion seems like it can fail in a lot of normal (non-error) circumstances. Perhaps I'm reading the code wrong – and I apologize for the noise if so – but won't this strict inequality fail any time a persistence diagram contains only points satisfying the
is_normal
test in the loop above?