A Python package to discover Differential Algebraic Equations from data.
Project description
DaeFinder
DaeFinder is a Python package designed to discover Differential Algebraic Equations (DAEs) from noisy data using sparse optimization framework. It is based on the SODAs algorithm developed by the researchers in the Mangan Group at Northwestern University. The associated research paper will soon be available on arXiv, and a link will be provided here once published.
If you use DaeFinder for your development or research, please cite the SODAs paper once it is available.
Author and Contributors
- Manu Jayadharan (Primary Developer)
- Christina Catlett
- Arthur Montanari
- Niall Mangan
Features
- Decoupling of Algebraic and Dynamic Equations
- Smoothening noisy data and calculating derivatives.
- Generate polynomial features for regression models.
- Support for sparse feature coupling.
- SVD Analysis.
- Example notebooks for practical demonstrations including chemical reaction networks, power grid networks, etc.
Dependencies
The following Python packages are required to use DaeFinder:
numpyscipypandassympyscikit-learnmatplotlibjoblib
Installation
To install the DaeFinder package, follow these steps:
- Ensure you have Python 3.7 or higher installed.
- Install the package using pip:
pip install DaeFinder
Examples
Walkthrough notebooks are available in the Examples/ folder of the repository. These notebooks include:
- A step-by-step guide to using DaeFinder.
- Application to chemical reaction network, non-linear pendulum, power grid, etc.
For examples that require additional data (e.g., the power grid example), the data files are included in the GitHub repository. Be sure to download the required datasets from the relevant folders in the repository.
Known Issues
- The parallel function currently has some bugs that need fixing.
- If you encounter issues with the installation or the package itself, please feel free to contact the authors or contributors.
Contributing
We welcome contributions to improve DaeFinder! If you are interested in contributing to the package or working on related research, please reach out to the author or the Mangan Group.
Contact
For any questions, issues, or collaboration inquiries, please contact:
- Manu Jayadharan manu.jayadharan@gmail.com
- Niall Mangan niall.mangan@northwestern.edu
- Christina Catlett
- Arthur Montanari
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file daefinder-0.2.1.tar.gz.
File metadata
- Download URL: daefinder-0.2.1.tar.gz
- Upload date:
- Size: 34.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a90eefb6dbddc76e70491fe69b363a3cd36432ec2ebd5260e10e209a686df44
|
|
| MD5 |
8026bba7708723359322f7eeb4846583
|
|
| BLAKE2b-256 |
e0cba8fef03cc49d8ce7c28f2c21d2560cbc0f9fecb9222f31c0a4a2f9c0d206
|
File details
Details for the file DaeFinder-0.2.1-py3-none-any.whl.
File metadata
- Download URL: DaeFinder-0.2.1-py3-none-any.whl
- Upload date:
- Size: 15.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a5df5a9c5adb19d0ba30afa491c70a9d190e2c7f7e0b9a947397bddf0a99a03
|
|
| MD5 |
01f1309d7a1c4642d95ce210d1a9345d
|
|
| BLAKE2b-256 |
26f88bb078b63b23e332f95c2a041194aa5607f90d9c056dbf0982b114297997
|