• Stars
    star
    127
  • Rank 282,790 (Top 6 %)
  • Language
    MATLAB
  • License
    MIT License
  • Created over 4 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

SINDy-PI: A Robust Algorithm for Parallel Implicit Sparse Identification of Nonlinear Dynamics

SINDy-PI: A Robust Algorithm for Parallel Implicit Sparse Identification of Nonlinear Dynamics

SINDy-PI is a robust algorithm for parallel implicit sparse identification of nonlinear dynamics algorithm. The SINDy-PI algorithm implicit dynamical systems in a robust and parallel optimization. The details of the approach are in our arXiv paper.

Examples

Belousov–Zhabotinsky (BZ) Reaction

The Belousov–Zhabotinsky (BZ) reaction is a classical example of non-equilibrium thermodynamics, which can be described by a rational PDE. The strong coupling dynamics and implicit behavior make the data-driven discovery of the BZ reaction challenging when using implicit-SINDy and PDE-FIND. However, SINDy-PI correctly identifies the dynamics.

Modified Korteweg–de Vries (KdV) Equation

The Korteweg–de Vries (KdV) equation is a mathematical model of shallow water waves. We modify the KdV equation to include a rational gain term and use SINDy-PI to identify the model.

Mounted Double Pendulum

The double pendulum is a classic example of chaotic dynamics. Correctly identifying the equations of motion of the double pendulum is a challenging task due to the rational terms in the dynamics. Moreover, the complexity of the double pendulum ODEs make it challenging to use implicit-SINDy. However, SINDy-PI is able to correctly identify the dynamics.

Single Pendulum on a Cart

For many robotic systems, there is actuation applied to the system. We consider a classic example of a single pendulum on a cart and use SINDy-PI to identify the underlying ODE of the system.

Yeast Glycolysis

To compare the data usage of implicit-SINDy and SINDy-PI, we use yeast glycolysis as an example.

Dependencies:

  • CVX optimization packages for Matlab. CVX is used for the constrained formulation of the SINDy-PI.
  • Simulation data of the Michaelis Menten kinetics under multiple initial conditions. This data set is used for the comparison of implicit-SINDy and SINDy-PI under different noise levels. Please unzip it in the "Comparison\NoiseSenstivity\Michaelis-Menten kinetics\Datas" folder for use.

More Repositories

1

pysindy

A package for the sparse identification of nonlinear dynamical systems from data
Python
1,424
star
2

pykoopman

A package for computing data-driven approximations to the Koopman operator.
Python
274
star
3

databook_matlab

Matlab files with demo code intended as a companion to the book "Data-Driven Science and Engineering: Machine Learning, Dynamical Systems, and Control" by Steven L. Brunton and J. Nathan Kutz http://www.databookuw.com/
MATLAB
250
star
4

pysensors

PySensors is a Python package for sparse sensor placement
Python
76
star
5

dominant-balance

Methods and code for J. L. Callaham, J. N. Kutz, B. W. Brunton, and S. L. Brunton (2020)
Jupyter Notebook
55
star
6

hydrogym

An RL-Gym for Challenge Problems in Data-Driven Modeling and Control of Fluid Dynamics.
Jupyter Notebook
53
star
7

modified-SINDy

Example code for paper: Automatic Differentiation to Simultaneously Identify Nonlinear Dynamics and Extract Noise Probability Distributions from Data
Jupyter Notebook
50
star
8

langevin-regression

Code for "Nonlinear stochastic modeling with Langevin regression" J. L. Callaham, J.-C. Loiseau, G. Rigas, and S. L. Brunton
Jupyter Notebook
24
star
9

MultiArm-Pendulum

This repository is for our paper: "The Experimental Multi-Arm Pendulum on a Cart: A Benchmark System for Chaos, Learning, and Control." It contains all the CAD files we used to build the pendulum hardware, their corresponding user's manual, and data set we collected from our hardware, which is useful for Machine Learning and AI community.
MATLAB
19
star
10

deep-learning-fluids

A collection of codes and references for deep learning in fluid dynamics
Jupyter Notebook
16
star
11

ctf-dl-tutorial

CTF workshop deep learning tutorial and hackathon
Jupyter Notebook
12
star
12

Saddle-Mediated-Transport-of-Double-Pendulum

Julia
8
star
13

NormalFormAE

Julia
2
star
14

KoopmanRL-NeurIPS

HTML
2
star