TR2025-086

pycvxset: A Python package for convex set manipulation


    •  Vinod, A.P., "pycvxset: A Python package for convex set manipulation", American Control Conference (ACC), June 2025.
      BibTeX TR2025-086 PDF
      • @inproceedings{Vinod2025jun,
      • author = {Vinod, Abraham P.},
      • title = {{pycvxset: A Python package for convex set manipulation}},
      • booktitle = {American Control Conference (ACC)},
      • year = 2025,
      • month = jun,
      • url = {https://www.merl.com/publications/TR2025-086}
      • }
  • MERL Contact:
  • Research Areas:

    Control, Dynamical Systems, Optimization

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 halfs- pace/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 enu- meration. 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.

 

  • Related Publication

  •  Vinod, A.P., "pycvxset: A Python package for convex set manipulation", arXiv, October 2024.
    BibTeX arXiv
    • @article{Vinod2024oct,
    • author = {Vinod, Abraham P.},
    • title = {{pycvxset: A Python package for convex set manipulation}},
    • journal = {arXiv},
    • year = 2024,
    • month = oct,
    • url = {https://arxiv.org/abs/2410.11430}
    • }