Skip to main content

Bounding Observability for Uncertain Nonlinear Dynamics Systems (BOUNDS)

Project description

pybounds

Python implementation of BOUNDS: Bounding Observability for Uncertain Nonlinear Dynamic Systems.

PyPI version

Introduction

This repository provides python code to empirically calculate the observability level of individual states for a nonlinear (partially observable) system, and accounts for sensor noise. Below is a graphical example of how pybounds can discover active sensing motifs. Minimal working examples are described below.

Installing

The package can be installed by cloning the repo and running python setup.py install from inside the home pybounds directory.

Alternatively using pip

pip install pybounds

Notebook examples

For a simple system:

For a more complex system:

Citation

If you use the code or methods from this package, please cite the following paper:

Cellini, B., Boyacioglu, B., Lopez, A., & van Breugel, F. (2025). Discovering and exploiting active sensing motifs for estimation (arXiv:2511.08766). arXiv. https://arxiv.org/abs/2511.08766

Additional resources

To learn more about nonlinear observability, its relation to Fisher information, see Boyacioglu and van Breugel

To start with the basics, check out these open source course materials: Nonlinear and Data Driven Estimation.

Related packages

This repository is the evolution of the EISO repo (https://github.com/BenCellini/EISO), and is intended as a companion to the repository directly associated with the paper above.

License

This project utilizes the MIT LICENSE. 100% open-source, feel free to utilize the code however you like.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pybounds-0.1.0.tar.gz (19.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pybounds-0.1.0-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

Details for the file pybounds-0.1.0.tar.gz.

File metadata

  • Download URL: pybounds-0.1.0.tar.gz
  • Upload date:
  • Size: 19.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for pybounds-0.1.0.tar.gz
Algorithm Hash digest
SHA256 18afe1c3379800ef05756ccade8a1ee59d2d24f9a6d19490092fb63e8f0a8be8
MD5 2cec0840ca2393e5f2ad209746dfd506
BLAKE2b-256 51da4931bc6bca972034251c984335c9d684bbebdc74df6b861a89e6eabc97b8

See more details on using hashes here.

File details

Details for the file pybounds-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pybounds-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for pybounds-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2dc46ac7b7bcde1de1ade7bfe80f50075522e81d34f9beefbc877427494fe44e
MD5 2c6fa2e40c4f4126b6d99a4fdf8f4acb
BLAKE2b-256 ad0c56183e59d8d7db097123a828cbc3a12e71749e958eb0b68d2fce5e19521e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page