RangeEnclosures

Enclosures of real-valued functions in Julia

https://github.com/juliareach/rangeenclosures.jl

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 8 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    1 of 13 committers (7.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.2%) to scientific vocabulary

Keywords from Contributors

projections set-propagation reachability-analysis formal-verification polygons zonotope sets polyhedra minkowski-sum lazy-evaluation
Last synced: 6 months ago · JSON representation ·

Repository

Enclosures of real-valued functions in Julia

Basic Info
Statistics
  • Stars: 23
  • Watchers: 5
  • Forks: 3
  • Open Issues: 19
  • Releases: 12
Created over 6 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

RangeEnclosures.jl

| Introduction & Documentation | Status | Community |Version-Specific Citation | License | |:--------------------------------:|:----------:|:-------------:|:----------------------------:|:-----------:| | DOI docs-dev | CI codecov PkgEval aqua dev-commits | zulip JuliaHub | DOI | license |

A Julia package to bound the range of real-valued functions. The following article showcases the basic functionality, highlighting some of the key design choices:

Luca Ferranti, Marcelo Forets, and Christian Schilling. RangeEnclosures.jl: A framework to bound function ranges Proceedings of the JuliaCon Conferences (2024).

See below for how to cite it.

Installing

From the Julia REPL type

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

Quickstart

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 julia> f(x) = -x^3/6 + 5x

julia> dom = interval(1, 4) [1, 4]

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

Example

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

Contributing

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 at the #juliareach stream on Zulip. Pull requests implementing new features or fixing bugs are also welcome. Make sure to check out the contribution guidelines.

Authors

How to cite

If you use this package in your work, please cite it using the metadata here or below:

@article{Ferranti2024, author = {Luca Ferranti and Marcelo Forets and Christian Schilling}, title = {{RangeEnclosures}.jl: A framework to bound function ranges}, journal = {Proceedings of the JuliaCon Conferences}, volume = {1}, number = {1}, pages = {3}, year = {2024}, publisher = {The Open Journal}, url = {https://doi.org/10.21105/jcon.00122}, doi = {10.21105/jcon.00122} }

Acknowledgments

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.

Owner

  • Name: JuliaReach
  • Login: JuliaReach
  • Kind: organization

Reachability Computations for Dynamical Systems in Julia

Citation (CITATION.bib)

@article{Ferranti2024,
  author       = {Luca Ferranti and
                  Marcelo Forets and
                  Christian Schilling},
  title        = {{RangeEnclosures}.jl: A framework to bound function ranges},
  journal      = {Proceedings of the JuliaCon Conferences},
  volume       = {1},
  number       = {1},
  pages        = {3},
  year         = {2024},
  publisher    = {The Open Journal},
  url          = {https://doi.org/10.21105/jcon.00122},
  doi          = {10.21105/jcon.00122}
}

GitHub Events

Total
  • Create event: 27
  • Commit comment event: 3
  • Release event: 2
  • Issues event: 4
  • Watch event: 1
  • Delete event: 22
  • Issue comment event: 18
  • Push event: 112
  • Pull request event: 46
Last Year
  • Create event: 27
  • Commit comment event: 3
  • Release event: 2
  • Issues event: 4
  • Watch event: 1
  • Delete event: 22
  • Issue comment event: 18
  • Push event: 112
  • Pull request event: 46

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 229
  • Total Committers: 13
  • Avg Commits per committer: 17.615
  • Development Distribution Score (DDS): 0.541
Past Year
  • Commits: 46
  • Committers: 4
  • Avg Commits per committer: 11.5
  • Development Distribution Score (DDS): 0.174
Top Committers
Name Email Commits
schillic g****t@c****t 105
Marcelo Forets m****s@g****m 53
Luca Ferranti 4****i 39
lucaferranti l****i@g****m 8
github-actions[bot] 4****] 6
CompatHelper Julia c****y@j****g 5
schillic s****c@i****e 4
dependabot[bot] 4****] 4
Aadesha a****5@g****m 1
Christian Schilling a****t@c****t 1
Marcelo Forets m****o@p****e 1
dfcaporale 5****e 1
schillic s****c 1
Committer Domains (Top 20 + Academic)

Packages

  • Total packages: 1
  • Total downloads:
    • julia 3 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 12
juliahub.com: RangeEnclosures

Enclosures of real-valued functions in Julia

  • Versions: 12
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 3 Total
Rankings
Dependent repos count: 9.9%
Average: 27.5%
Stargazers count: 27.9%
Forks count: 33.3%
Dependent packages count: 38.9%
Last synced: 6 months ago

Dependencies

.github/workflows/CompatHelper.yml actions
  • julia-actions/setup-julia latest composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/ci.yml actions
  • actions/checkout v2 composite
  • codecov/codecov-action v2 composite
  • julia-actions/cache v1 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/ci_PR.yml actions
  • actions/checkout v2 composite
  • codecov/codecov-action v2 composite
  • julia-actions/cache v1 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/clean-gh-pages.yml actions
  • actions/checkout v2 composite
.github/workflows/docs.yml actions
  • actions/checkout v2 composite
  • julia-actions/setup-julia latest composite