IntervalRootFinding.jl
IntervalRootFinding.jl copied to clipboard
Find all roots of a function in a guaranteed way with Julia
Unfortunately, computing the derivative with `ForwardDiff.derivative` over an interval cannot guarantee a rigorous enclosure of the true derivative, because internally `ForwardDiff` might still use some non-rigorous floating computations somewhere. Here...
I am computing zeroes of some pretty weird functions, and occasionally have unexpected behavior. A minimal working example (it's embedded in a lot of my functions; they depend on parameters...
It seems there is no ::Interval support for besselk and besseli of SpecialFunctions.jl since IntervalRootFinding.roots() gives a StackOverflowError when applied to (a combination of) these functions. This issue may be...
I think it would be nice to be able to unpack root objects as if they were tuples of `(interval, status)` e.g. have the following to work ```julia julia> r...
Is it possible to specify a maximum number of bisections? I see there are some functions where you can specify `maxlevels`: ```Julia function find_roots(f::Function, a::Interval{T}, method::Function = newton; tolerance =...
This comes from the (Reliable_computing) mailing list, (posted by Mark A. Stadtherr): - Minimization problems: http://dx.doi.org/10.1021/ie034073d - Equation-solving problems (with many roots): http://dx.doi.org/10.1002/aic.690470817 - Other interesting problems/methods by perusing: https://www3.nd.edu/~markst/interval-publications.html
I am trying to build a more robust internal rate of return solver for [ActuaryUtilities.jl](https://github.com/JuliaActuary/ActuaryUtilities.jl) and couldn't get IntervalRootFinding to pass some tests finding the roots. The following case failed...
`mid(r::Root) = mid(interval(r))`
Currently the following hangs in an infinite calculation: ```jl julia> using IntervalArithmetic, IntervalRootFinding julia> roots(x -> x^2 - x, -Inf..Inf) ```` since it cannot prove that it can exclude the...
https://discourse.julialang.org/t/question-about-interval-root-finding/57124 ```jl f(E) = tan(√(2E)) + √(E / (3π^2 - E)) roots(f, -1e100..1e100) ``` is buggy.