You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
IntervalRootFinding.jl is a Julia package for finding the roots of functions, i.e. solutions to the equation $f(x) = 0$.
To do so, it uses interval arithmetic from the IntervalArithmetic library.
The IntervalRootFinding.jl package requires to install Julia.
Then, start Julia and execute the following command in the REPL:
using Pkg; Pkg.add("IntervalRootFinding")
Basic usage examples
The basic function is roots. Given a standard Julia function and an interval, the roots function returns a list of intervals containing all roots of the function located in the prescribed interval.
julia>using IntervalArithmetic, IntervalRootFinding
julia>using IntervalArithmetic.Symbols # to use `..`
julia>f(x) =sin(x) -0.1*x^2+1
f (generic function with 1 method)
julia>roots(f, -10..10)
4-element Vector{Root{Interval{Float64}}}:Root([-4.42654, -4.42653]_com_NG, :unique)
Root([-3.10682, -3.10681]_com_NG, :unique)
Root([-1.08205, -1.08204]_com_NG, :unique)
Root([3.14959, 3.1496]_com_NG, :unique)
The :unique status indicates that each listed interval contains exactly one root. The other possible status is :unknown, which corresponds to intervals that may contain zero, one, or more roots (no guarantee is provided for these intervals).
These results are represented in the following plot, the region containing roots being in green.
About
Library for finding the roots of a function using interval arithmetic