Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Thank you for this great package!
I encountered the following behaviour when looking at CO2 with a cubic equation of state:
Arguably worse, for a slightly different pressure, there is no error but the answer is obviously wrong (the volume is negative):
After investigating, it turns out that this is due to a faulty heuristic used to determine which roots of a cubic polynomial are real. This PR implements a cleaner heuristic that checks the value of the polynomial between the real parts of the roots, and compares the sign of these values to determine more precisely whether the roots are real. This yields more satisfying answers:
And as a bonus, it seems that this bugfix incidentally makes the test for #172 pass (whereas it was marked as@test_broken
).