-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compatibility with IntervalArithmetic v0.22 #203
base: master
Are you sure you want to change the base?
Conversation
I haven't adapted the benchmark yet, so I am not sure what is affected. Probably it everything is slightly affected, but mostly the few examples where I use Vector instead of SVector. It fixes or superseeds #41 #52 #77 #107 #157 It half-fixes #40 as complex intervals are supported, but require explicit derivative. It does nothing about #124 and propably make #117 a bit worse ( |
Out of curiosity, why is the keyword argument of Also, a lot of examples in the docs you added have the NG flag, do you think it is worth using |
The algorithm is branch-and-prune, the contractor is only a small part of it. That being said, I am fine with any of The doc should anyway be extended to discuss what's the difference between Newton and Krawczyk.
I plan to discuss that separately. The To be fair, I have been considering not showing the decoration or flag of the interval in the roots. Instead, we could add a flag to the root object, when the assumption of the method are not fullfileld (i.e. the root interval has the |
Do you think you can loose information by having a single global decoration and NG flag? For instance, in one of the example some roots have the "NG" flag and others don't. |
In my idea, the information would be kept on the individual intervals, just not displayed. I assume that at a first glance, what's important is if the root is valid as a whole. I'll keep that for another PR though, this one has already enough changes. |
With the update to the doc, this PR is not fully ready for review. |
Ok! I can help with the review once you decide your PR is ready. |
@Kolaru was the "not" a "now" with a typo? :) |
Yes I believe that was the case 🙂 |
This PR aims at providing compatibility with IntervalArithmetic v0.22, which is breaking.
The user facing changes are
Interval
in the latest releases of IntervalArithmetic)roots
function changed toroots(f::Function, X::Union{Interval, AbstractVector} ; kwargs...)
, with the following consequencesroots
function.IntervalBox
. Multidimensional problem are specified by returning a vector of intervals, and giving a vector of intervals as initial search region.roots
function are unsupported for the time being (e.g.Slopes
and quadratic equations). If you were using them, please open an issue.roots
works with@exact
.This PR does not yet contain an update of the documentation, but is otherwise ready for review (if the tests pass on CI ^^').