A Julia package to compute range enclosures of real-valued functions.
Author JuliaReach
17 Stars
Updated Last
7 Months Ago
Started In
July 2019


Documentation Status Community License
docs-dev CI codecov gitter license

A Julia package to bound the range of real-valued functions.


From the Julia REPL type

julia> using Pkg; Pkg.add("RangeEnclosures")


An enclosure of the range of a function $f : D \subset \mathbb{R}^n \to \mathbb{R}$ is an interval that contains the global minimum and maximum of $f$ over its domain $D$. RangeEnclosures offers an API to easily bound the range of $f$ with different algorithms. Here is a quick example:

julia> f(x) = -x^3/6 + 5x

julia> dom = 1 .. 4
[1, 4]

julia> enclose(f, dom, BranchAndBoundEnclosure())
[4.83333, 10.5709]


We plan to add more examples to the docs. In the meantime, check the test folder for further examples.


If you encounter bugs, want to suggest new features or have questions, feel free to open an issue. You can also chat with the package developers on Gitter or in the #reachability-analysis stream on Zulip. Pull requests implementing new features or fixing bugs are also welcome. Make sure to check out the contribution guidelines.



Huge thanks to all the contributors. In addition, we are grateful to Luis Benet, Benoît Legat and David P. Sanders for enlightening discussions during the preparation of this package.

During Summer 2022, this project was financially supported by Google through the Google Summer of Code program. During Summer 2019, this project was financially supported by Julia through the Julia Season of Contributions program.

If you use RangeEnclosures.jl, consider acknowledging or citing the Julia package that implements the specific solver that you are using.

Used By Packages

No packages found.