Releases: JuliaIntervals/IntervalRootFinding.jl
v0.7.0
IntervalRootFinding v0.7.0
This release is expected to be the last release before v1.0.
The only breaking change is that the Krawczyck contractor is now the default.
New features since v0.6.0
- Compatibility with IntervalArithmetic v1.
- The root search continues on inconclusive boolean operations #233
- The iterator interface has been greatly improve #210
maxiterandreltolstop criterion #210- The type stability has been improved
- A lot of tests have been added
Merged pull requests:
- Infer root type from the provided function (#239) (@Kolaru)
- Bump julia-actions/setup-julia from 2 to 3 (#240) (@dependabot[bot])
- Better iteration state (#241) (@Kolaru)
- Use 10D problem from #108 for tests and benchmarks (#242) (@Kolaru)
- Complete tests (#243) (@Kolaru)
- Prepare v0.7 release (#245) (@Kolaru)
Closed issues:
v0.6.3
IntervalRootFinding v0.6.3
- More descriptive root status
- InconclusiveBooleanOperation errors no longer stop the iteration, instead the interval is bisected further
- Allow to ignore any error type in the same way
Merged pull requests:
- Implement continuing processing on error (#233) (@Kolaru)
- Bump actions/upload-artifact from 5 to 7 (#234) (@dependabot[bot])
- Bump julia-actions/cache from 2 to 3 (#235) (@dependabot[bot])
- Bump codecov/codecov-action from 5 to 6 (#236) (@dependabot[bot])
Closed issues:
v0.6.2
IntervalRootFinding v0.6.2
Add compat entry for IntervalArithmetic v1.0
Merged pull requests:
- Bump actions/checkout from 4 to 5 (#220) (@dependabot[bot])
- Bump peter-evans/create-or-update-comment from 4 to 5 (#226) (@dependabot[bot])
- Bump peter-evans/find-comment from 3 to 4 (#227) (@dependabot[bot])
- Bump actions/upload-artifact from 4 to 5 (#228) (@dependabot[bot])
- Add IA v1.0 and bump patch version (#229) (@lbenet)
- Bump actions/checkout from 5 to 6 (#230) (@dependabot[bot])
Closed issues:
v0.6.1
IntervalRootFinding v0.6.1
Merged pull requests:
- Add iterate method for Root objects (#190) (@edtrelo)
- Add few missing tests (#205) (@Kolaru)
- Add doc, some tests and a minor fix for input and output types in multidimensional cases (#208) (@Kolaru)
- Implement
max_iterationandreltolstop criterion (#211) (@Kolaru) - Update workflows (#214) (@abhro)
- Documentation updates (#215) (@abhro)
- Bump actions/checkout from 2 to 4 (#216) (@dependabot[bot])
- CompatHelper: bump compat for ForwardDiff to 1, (keep existing compat) (#217) (@github-actions[bot])
- Update benchmark and add them to CI (#218) (@Kolaru)
- Add compat for IntervalArithmetic v0.23 and bump version 0.6.1 (#223) (@abhro)
Closed issues:
- Cannot use complex functions (#40)
- Limit the maximum number of intervals (#59)
- Need absolute and relative tolerance (#66)
- Add test with gradient (#87)
- Return semi-infinite intervals when cannot guarantee roots (#96)
- Make a RootProblem type (#109)
- Allow keywords arguments for roots (#116)
- No method roots(f, v::Vector{IntervalBox}) (#117)
- Can't just specify a tolerance on master (#136)
- Incorrect root of function involving
max(#146) - How to show there is no roots on unbounded domain? (#149)
- Throw an error when input and output dimension mismatch (#150)
- Graceful handling of infinity (#161)
- Specifying a maximum number of bisections (#178)
- Allow to unpack roots objects (#180)
- Empty interval results on discontinuous functions (#184)
- Multithreading causes random errors (#189)
- Missing import from IntervalArithmetic? (#200)
- Update versions of dependencies (#201)
- ERROR: MethodError: no method matching contains_zero(::Float64) (#202)
- Where are docs for 0.6 / what are all the breaking changes? (#207)
- Usage of \times and .. symbols in documentation (#212)
- Kindly provide an example for newer syntax (#213)
v0.6.0
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)
ForwardDiffcannot 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)
tantangent function missing roots (#196)- ERROR: SingularException(4)....what happen? (#198)
- ERROR: SingularException(4) (#199)
v0.5.11
v0.5.10
IntervalRootFinding v0.5.10
Merged pull requests:
- CompatHelper: bump compat for IntervalArithmetic to 0.20, (keep existing compat) (#179) (@github-actions[bot])
v0.5.9
IntervalRootFinding v0.5.9
Merged pull requests:
- CompatHelper: bump compat for "IntervalArithmetic" to "0.19" (#177) (@github-actions[bot])
v0.5.8
v0.5.7
IntervalRootFinding v0.5.7
Closed issues:
- bump version number of Polynomials (#170)
Merged pull requests:
- updated compat for IntervalArithmetic (#171) (@lucaferranti)