Software & Data Downloads — pycvxset

Convex sets in Python for manipulating and visualizing convex sets.

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.

    •  Vinod, A.P., "pycvxset: A Python package for convex set manipulation", American Control Conference (ACC), June 2025.
      BibTeX TR2025-086 PDF Software
      • @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}
      • }

    Access software at https://github.com/merlresearch/pycvxset.