|
ZonoOpt v1.0.0
|
This C++ header library provides classes and tailored optimization routines for zonotopes, constrained zonotopes, and hybrid zonotopes. To use, #include "ZonoOpt.hpp". All classes and methods are implemented using sparse linear algebra via the Eigen library. Generators may optionally have range [0,1] instead of [-1,1].
Python bindings for the library can be built and installed using pip install .. The resulting python module is named zonoopt. To test that the module is working as intended, from the test/unit-tests directory, run python3 unit_tests.py. Note that a C++ compiler is required to build the module, and the Eigen submodule must be checked out (can be accomplished by running python3 update_submodules.py).
More information about ZonoOpt can be found in the the following publication. Please cite this if you publish work based on ZonoOpt: Robbins, J.A., Siefert, J.A., and Pangborn, H.C., "Sparsity-Promoting Reachability Analysis and Optimization of Constrained Zonotopes," 2025. https://arxiv.org/abs/2504.03885.
Auto-generated API documentation is available below.