cindy

CINDy: Conditional gradient-based Identification of Non-linear Dynamics – Noise-robust recovery

https://github.com/zib-iol/cindy

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org, ncbi.nlm.nih.gov, aps.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.0%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

CINDy: Conditional gradient-based Identification of Non-linear Dynamics – Noise-robust recovery

Basic Info
  • Host: GitHub
  • Owner: ZIB-IOL
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 87.9 KB
Statistics
  • Stars: 9
  • Watchers: 2
  • Forks: 2
  • Open Issues: 0
  • Releases: 0
Created over 4 years ago · Last pushed over 4 years ago
Metadata Files
Readme License Citation

README.md

CINDy: Conditional gradient-based Identification of Non-linear Dynamics – Noise-robust recovery

This code reproduces the experiments of the CINDy: Conditional gradient-based Identification of Non-linear Dynamics – Noise-robust recovery paper.

Implemented Algorithms

Most of the algorithms included in the package solve a Least Absolute Shrinkage and Selection Operator (LASSO) formulation of the sparse recovery problem, where the l-1 norm regularization happens either in the feasible region (CINDy, IPM) or in the objective function (SR3, FISTA). In the case of the SR3 algorithm, one can substitute the l-1 norm regularization for l-0 norm regularization (although the former is not technically a norm). The CINDy, IPM and SR3 algorithms can also add a series of arbitrary linear constraints on the problem, either through the feasible region (CINDy, IPM), or through the objective function (SR3).

CINDy

Implementation of the Blended Conditional Gradients (BCG) algorithm to solve a least squares problem subject to an l-1 norm feasible region constraint, and a series of additional linear constraints.

SINDy

Implementation of the Sequentially-Thresholded Ridge Regression formulation in the Sparse Identification of Non-linear Dynamics (SINDy) framework. Based on the code in the PDE_FIND Github repository.

SR3

Implementation of the Sparse Relaxed Regularized Regression (SR3) algorithm. Based on the code in the SINDySR3 Github repository, with the correction of aspects in the mathematical formulation. This algorithm solves a least-squares problem with l-1 or l-0 norm regularization. Additional linear constraints are also enforced through penalty terms in the objective function.

FISTA

Implementation of the Fast Iterative Shrinkage-Thresholding Algorithm (FISTA) algorithm. This algorithm is used to solve a least squares problem with l-1 norm regularization (in the objective function).

IPM

We include a least-squares problem formulation with an l-1 norm feasible region constraint, and a series of additional linear constraints, that is solved with the Interior-Point Method (IPM) included in the CVXOPT Python package.

Dynamics to recover

We benchmark the above algorithms on three dynamics, namely:

Kuramoto model

ODE model that describes the angular movement of a series of weakly coupled identical oscillators that differ in their angular frequency. We consider the case where there is external forcing in the system see this paper for the details on the mathematical formulation). The true underlying dynamic can be described using a combination of sines and cosines dependent on the angular position of the particles. In the experiment we consider a system with 5, and with 10 oscillators.

Fermi-Pasta-Ulam-Tsingou model

This physical model describes a system of one dimensional particles connected through springs and subject to a nonlinear forcing term. The mathematical description of the system can be found in this technical report. We consider two cases, one in which the there are a total of 5 particles, and one in which there are a total of 10 particles.

Michaelis-Menten model

The last model we benchmark our algorithm on describes enzyme reaction kynetics, in which several chemical species are formed at a speed proportional to the quantity of the different species. There are a total of 4 species in this example, and we use the mathematical formulation described in this paper.

Citing

When using the SINDy, SR3, FISTA and IPM algorithms please cite the appropiate papers. When using CINDy, please use the CITATION.bib BibTeX entry in the github repository.

Owner

  • Name: IOL Lab
  • Login: ZIB-IOL
  • Kind: organization
  • Location: Germany

Working on optimization and learning at the intersection of mathematics and computer science

Citation (CITATION.bib)

@article{carderera2021cindy,
  title={CINDy: Conditional gradient-based Identification of Non-linear Dynamics--Noise-robust recovery},
  author={Carderera, Alejandro and Pokutta, Sebastian and Sch{\"u}tte, Christof and Weiser, Martin},
  journal={arXiv preprint arXiv:2101.02630},
  year={2021}
}

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 4
  • Total Committers: 1
  • Avg Commits per committer: 4.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
alejandro-carderera a****a@g****m 4

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels