Add IntervalArithmetic v0.23.0+ compatibility guide and robust examples #173
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.
Summary
Adds comprehensive documentation and robust examples for IntervalArithmetic.jl v0.23.0+ compatibility, addressing breaking changes introduced in the latest version.
Problem Solved
IntervalArithmetic.jl v0.23.0 introduced breaking changes for IEEE 1788-2015 compliance that can cause failures in interval ODE examples:
Changes Made
📚 Documentation Updates
isfinite()
→isbounded()
for interval bounds checking==
→isequal_interval()
for interval comparison🛠️ Robust Example Code
Added
solve_interval_ode_safely()
function that:isbounded()
🧪 Testing Results
Verified with IntervalArithmetic v0.23.0:
Benefits
🎯 User Experience: Clear guidance for v0.23.0+ users
🛡️ Robustness: Examples handle interval explosion gracefully
📖 Educational: Explains breaking changes and solutions
🔄 Backward Compatible: Works with both v0.22.x and v0.23.0+
Example Usage
The new robust solver automatically handles IntervalArithmetic v0.23.0 issues:
This ensures the SciMLBook examples work reliably with the latest IntervalArithmetic.jl versions while providing educational value about handling numerical uncertainties.
🤖 Generated with Claude Code