pycvxset: A Python package for convex set manipulation
Abstract
This paper introduces pycvxset, a new Python package to manipulate and visualize convex sets. We support polytopes and ellipsoids, and provide user-friendly methods to perform a variety of set operations. For polytopes, pycvxset supports the standard halfspace/vertex representation as well as the constrained zonotope representation. The main advantage of constrained zonotope representations over standard halfspace/vertex representations is that constrained zonotopes admit closed-form expressions for several set operations. pycvxset uses CVXPY to solve various convex programs arising in set operations, and uses pycddlib to perform vertex-halfspace enumeration. We demonstrate the use of pycvxset in analyzing and controlling dynamical systems in Python. pycvxset is available at https://github.com/merlresearch/pycvxset under the AGPL-3.0-or-later license, along with documentation and examples.
- Publication:
-
arXiv e-prints
- Pub Date:
- October 2024
- DOI:
- 10.48550/arXiv.2410.11430
- arXiv:
- arXiv:2410.11430
- Bibcode:
- 2024arXiv241011430V
- Keywords:
-
- Electrical Engineering and Systems Science - Systems and Control;
- Computer Science - Computational Geometry;
- Mathematics - Dynamical Systems;
- Mathematics - Optimization and Control
- E-Print:
- 8 pages, 10 figures