A package for observability and identifiability analysis of non-linear systems
Project description
About StrikePy
StrikePy is a Python toolbox that analyses nonlinear models of ordinary differential equations. It performs a simultaneous assessment of:
- state observability,
- parameter structural identifiability,
- unknown input observability
The analysis is performed symbolically, and yields results that are valid locally for all values of the variables, except for a set of measure zero.
StrikePy implements the FISPO algorithm from the MATLAB toolbox STRIKE-GOLDD. The motivation behind StrikePy is to provide a Python alternative to MATLAB. That said, it should be noted that STRIKE-GOLDD is computationally more efficient and includes more features than StrikePy.
StrikePy was created by David Rey Rostro, davidreyrostro@gmail.com, under the supervision of Alejandro F. Villaverde, afvillaverde@uvigo.gal.
Installation and requirements
StrikePy requires Python 3.9.
The required packages can be installed using pip: pip install numpy sympy symbtools
Getting started
To use StrikePy you just need to follow these 3 steps:
- download the toolbox and install the required packages (see above),
- define the problem by editing 'options.py', or by creating a custom options file inside the 'custom_options' folder,
- run the file 'RunModels.py' for a test, or follow the instructions in the file to analyse other models.
A number of examples are provided in the models folder.
Results
The results of the analysed models as well as the observability/identifiability matrix will be saved in a .txt file in the results folder.
More information about StrikePy can be found in the StrikePy manual
Disclaimer
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file StrikePy-1.0.tar.gz.
File metadata
- Download URL: StrikePy-1.0.tar.gz
- Upload date:
- Size: 522.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1d0eab15c69219c88527eac23f81473f76e32d6ecab61383fa9020c2ba0dc651
|
|
| MD5 |
212bff27fc7370964b27aad7adbe8c8a
|
|
| BLAKE2b-256 |
08ca460b02117471fb1361fe310bdbba59c61d36ecbc5a32b91d32a2eeae2520
|