All Projects → Willcox-Research-Group → rom-operator-inference-Python3

Willcox-Research-Group / rom-operator-inference-Python3

Licence: MIT license
Operator Inference for data-driven, non-intrusive model reduction of dynamical systems.

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to rom-operator-inference-Python3

Differentialequations.jl
Multi-language suite for high-performance solvers of differential equations and scientific machine learning (SciML) components
Stars: ✭ 2,023 (+6425.81%)
Mutual labels:  ode, dynamical-systems, pde
sssMOR
sssMOR - Sparse State-Space and Model Order Reduction Toolbox
Stars: ✭ 20 (-35.48%)
Mutual labels:  dynamical-systems, model-reduction
SciMLBenchmarks.jl
Benchmarks for scientific machine learning (SciML) software and differential equation solvers
Stars: ✭ 195 (+529.03%)
Mutual labels:  ode, pde
aws-lambda-decorators
A set of Python decorators to simplify AWS lambda development
Stars: ✭ 19 (-38.71%)
Mutual labels:  python-package
cookiecutter-pypackage-pythonic
Pythonic cookiecutter template for a Python package. See https://github.com/audreyr/cookiecutter.
Stars: ✭ 29 (-6.45%)
Mutual labels:  python-package
curve-shortening-demo
Visualize curve shortening flow in your browser.
Stars: ✭ 19 (-38.71%)
Mutual labels:  pde
MAESTRO
A low Mach number stellar hydrodynamics code
Stars: ✭ 29 (-6.45%)
Mutual labels:  pde
Numerical-Algorithms
Numerical Experiments
Stars: ✭ 15 (-51.61%)
Mutual labels:  pde
PyRates
Open-source, graph-based Python code generator and analysis toolbox for dynamical systems (pre-implemented and custom models). Most pre-implemented models belong to the family of neural population models.
Stars: ✭ 33 (+6.45%)
Mutual labels:  dynamical-systems
FactorGraph.jl
The FactorGraph package provides the set of different functions to perform inference over the factor graph with continuous or discrete random variables using the belief propagation algorithm.
Stars: ✭ 17 (-45.16%)
Mutual labels:  dynamical-systems
DiffEqSensitivity.jl
A component of the DiffEq ecosystem for enabling sensitivity analysis for scientific machine learning (SciML). Optimize-then-discretize, discretize-then-optimize, and more for ODEs, SDEs, DDEs, DAEs, etc.
Stars: ✭ 186 (+500%)
Mutual labels:  ode
SBMLToolkit.jl
SBML differential equation and chemical reaction model (Gillespie simulations) for Julia's SciML ModelingToolkit
Stars: ✭ 25 (-19.35%)
Mutual labels:  ode
LatentDiffEq.jl
Latent Differential Equations models in Julia.
Stars: ✭ 34 (+9.68%)
Mutual labels:  dynamical-systems
RaPId
RaPId (a recursive acronym for "Rapid Parameter Identification") utilizes different optimization and simulation technologies to provide a framework for model validation and calibration of any kind of dynamical systems, but specifically catered to power systems.
Stars: ✭ 35 (+12.9%)
Mutual labels:  dynamical-systems
heyoka
C++ library for ODE integration via Taylor's method and LLVM
Stars: ✭ 151 (+387.1%)
Mutual labels:  ode
python-package-template
Easy to use template for great PyPi packages
Stars: ✭ 19 (-38.71%)
Mutual labels:  python-package
pomp
R package for statistical inference using partially observed Markov processes
Stars: ✭ 88 (+183.87%)
Mutual labels:  dynamical-systems
hydro examples
Simple one-dimensional examples of various hydrodynamics techniques
Stars: ✭ 83 (+167.74%)
Mutual labels:  pde
chaotic-maps
Simple implementations of chaotic maps in Processing
Stars: ✭ 18 (-41.94%)
Mutual labels:  dynamical-systems
DiffEqPhysics.jl
A library for building differential equations arising from physical problems for physics-informed and scientific machine learning (SciML)
Stars: ✭ 46 (+48.39%)
Mutual labels:  ode

License Top language Code size Issues Latest commit Documentation

Operator Inference in Python

This is a Python implementation of Operator Inference for learning projection-based polynomial reduced-order models of dynamical systems. The procedure is data-driven and non-intrusive, making it a viable candidate for model reduction of "glass-box" systems. The methodology was introduced in [1].

See the Wiki for mathematical details and API documentation. See this repository for a MATLAB implementation.

Quick Start

Installation

Install the package from the command line with the following single command (requires pip).

$ python3 -m pip install --user rom-operator-inference

See the wiki for other installation options.

Usage

Given a basis matrix Vr, snapshot data Q, and snapshot time derivatives Qdot, the following code learns a reduced-order model for a problem of the form dq / dt = c + Aq(t), then solves the reduced system for 0 ≤ t ≤ 1.

import numpy as np
import rom_operator_inference as opinf

# Define a reduced-order model of the form  dq / dt = c + Aq(t).
>>> rom = opinf.InferredContinuousROM(modelform="cA")

# Fit the model to snapshot data Q, the time derivatives Qdot,
# and the linear basis Vr by solving for the operators c_ and A_.
>>> rom.fit(Vr, Q, Qdot)

# Simulate the learned model over the time domain [0,1] with 100 timesteps.
>>> t = np.linspace(0, 1, 100)
>>> Q_ROM = rom.predict(Q[:,0], t)

Contributors: Shane McQuarrie, Renee Swischuk, Elizabeth Qian, Boris Kramer, Karen Willcox.

References

These publications introduce, build on, or use Operator Inference. Entries are listed chronologically.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].