IntervalRootFinding v0.6.0
Main change
- Compatibility with IntervalArithmetic v0.22
Breaking changes
-
Decorated intervals must be used (which is the default Interval in the IntervalArithmetic v0.22)
-
The signature of the roots function changed to roots(f::Function, X::Union{Interval, AbstractVector} ; kwargs...), with the following consequences
- Manual derivatives and contractors must now always be passed as keyword arguments. This greatly simplify the internal logic of the roots function.
- No more
IntervalBox
. Multidimensional problem are specified by returning a vector of intervals, and giving a vector of intervals as initial search region. - Normal vectors of intervals are supported. They are significantly (3x) time slower for a simple 2D problem than
SVector
, but more convenient.
-
Features of the packages that were undocumented are now unsupported (e.g. Slopes and quadratic equations). If you were using them, please open an issue.
New feature
- Standard vectors of intervals are supported. They are significantly (3x) time slower for a simple 2D problem than SVector, but more convenient.
Merged pull requests:
- Bump version for Polynomials v3 (#183) (@hurak)
- Use branch and prune as backend for the search (#187) (@Kolaru)
- Refactor contractors (#188) (@Kolaru)
- update docs workflow (#194) (@lucaferranti)
- Compatibility with IntervalArithmetic v0.22 (#203) (@Kolaru)
Closed issues:
- Move lexcmp on Intervals to IntervalArithmetic.jl (#4)
- Use queue instead of stack (#22)
- Change to work with AbstractInterval (#23)
- Bisection of atomic interval (#26)
- Add debug mode (#30)
- Remove old code (#41)
- Clean up code (#52)
- Atomic intervals should be treated specially (#58)
- roots cannot handle functions that return intervals (#77)
- Example 5.5 from Smiley and Chun (2001) solved inconsistently (#86)
- Newton fails with abs (#98)
- Support function returning IntervalBox and only use them internally (#107)
- Do not export Contractor (#128)
- Factor out branch and bound into new package (#130)
- Allow roots(f, Xs) for a vector Xs (#157)
- Extra roots bug for large intervals (#162)
- Incorrect unique zero for 0/x + x and similar. (#181)
ForwardDiff
cannot guarantee valid enclosures of derivatives (#182)- Update to make compatible with IntervalArithmetic master (#191)
- Doc badge does not point to the package doc (#193)
- Unexpected answer to trigonometric polynomial (#195)
tan
tangent function missing roots (#196)- ERROR: SingularException(4)....what happen? (#198)
- ERROR: SingularException(4) (#199)