https://github.com/bwolleswinkel/numpes
Numerical operations on polytopes, ellipsoids, and subspaces
https://github.com/bwolleswinkel/numpes
control ellipsoid polytope python scientific-computing subspace
Last synced: 6 months ago
JSON representation
Numerical operations on polytopes, ellipsoids, and subspaces
- Host: GitHub
- URL: https://github.com/bwolleswinkel/numpes
- Owner: bwolleswinkel
- License: gpl-3.0
- Created: 2026-01-12T11:58:11.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2026-01-12T18:24:37.000Z (6 months ago)
- Last Synced: 2026-01-12T19:48:15.196Z (6 months ago)
- Topics: control, ellipsoid, polytope, python, scientific-computing, subspace
- Language: Python
- Homepage: https://numpes.readthedocs.io/en/latest/
- Size: 35.2 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# NumPES
[](https://pypi.org/project/numpes/)
[](https://numpes.readthedocs.io)

NumPES is a controls-oriented Python package for performings numerical operations on polytopes, ellipsoids, and subspaces. Its classes are implemented as emulating numeric types, enabling a breadth of operations to be performed and evaluated. A modern scientific computing package implemented in Python, using C/C++ as a backend for efficient computation.
## Installation
The easiest way to instal NumPES is by running
``` zsh
pip install numpes
```
in your terminal or dedicated virtual environment. Then, import NumPES using
``` py
import numpes as pes
```
at the top of your script to make its functionalities available.
## Quick start
NumPES allows you to construct polytope, ellipsoid, and subspace objects and manipulate these. For example, start by initializing a polytope represented by its half-space representation (H-representation).
``` py
import numpy as np
import numpes as pes
A = np.array([[ 0, 1],
[-2, 0],
[ 1, 1],
[ 0, -1]])
b = np.array([1, 1, 1, 0])
poly = pes.poly(A, b) # Defines a polytope A x <= b
poly.plot(show=True)
```
## Contribute to NumPES
We wholeheartedly invite collaborators to make contributions to NumPES. The easiest way to contribute is to fork this repository, implement your new functionality/improvement, and then create a pull request to merge this functionality in a new release of NumPES.