Giter Site home page Giter Site logo

gramian / emgr Goto Github PK

View Code? Open in Web Editor NEW
19.0 5.0 4.0 1.4 MB

emgr -- EMpirical GRamian Framework

Home Page: https://gramian.de

License: Other

MATLAB 68.96% Python 21.76% Scheme 9.27%
matlab model-reduction octave cross-gramian reduction controllability observability control-systems nonlinear-dynamics empirical-gramians

emgr's Introduction

code meta-data zenodo listed matlab compatible SWH

emgr logo emgr -- EMpirical GRamian Framework (5.99)

Website | Twitter | Feedback

Scope

  • Model Reduction / Model Order Reduction (MOR)
    • Nonlinear Model Order Reduction (nMOR)
    • Parametric Model Order Reduction (pMOR) | Robust Reduction
    • Parameter Reduction
    • Combined State and Parameter Reduction
  • Decentralized Control
  • Sensitivity Analysis
  • Parameter Identification | Input-Output Identifiability
  • Nonlinearity Quantification
  • Uncertainty Quantification
  • System Norms | System Indices | System Invariants
  • Optimal Sensor Placement | Optimal Actuator Placement
  • Matrix Equations
  • Tau Functions

Empirical Gramians

  • Empirical Controllability Gramian
  • Empirical Observability Gramian
  • Empirical Cross Gramian
  • Empirical Linear Cross Gramian
  • Empirical Sensitivity Gramian
  • Empirical Augmented Observability Gramian (Empirical Identifiability Gramian)
  • Empirical Joint Gramian (Empirical Cross-Identifiability Gramian)

Features

  • Interfaces for:
    • custom solvers / integrators
    • custom inner products / dot products / kernels / pseudo-kernels
    • distributed / partitioned / low-rank cross Gramian
  • Configurable non-symmetric cross gramian for:
    • Empirical Cross Gramian
    • Empirical Linear Cross Gramian
    • Empirical Joint Gramian
  • Program design:
    • Implicit parallelization via vectorization of bulk matrix operations
    • Explicit parallelization via parfor hints
    • Functional design via closures

Algorithm

For a mathematical summary and technical documentation of the empirical Gramian framework (5.4), detailing most features and capabilities see:

and references therein. See also the reference lists for further theoretical backgrounds on empirical Gramians.

Compatibility

Successfully tested on:

  • Mathworks MATLAB 2017b
  • Mathworks MATLAB 2022a
  • GNU Octave 5.2.0
  • GNU Octave 7.1.0
  • Python 3.8.10 (NumPy 1.17.4)

Citation

Getting Started

Run a minimal example in a Matlab interpreter like OCTAVE or MATLAB:

RUNME

To run all tests use:

emgrTest

To run demos use:

emgrDemo(id) % with id one of 'hnm', 'isp', 'fss', 'nrc', 'rqo', 'lte', 'aps', 'fbc', 'qso'

Files and Folders

README.md Basic Information (this file)

AUTHORS Author identity and contributions

CHANGELOG Version Information

CITATION Citation Information (BibTeX)

CITATION.cff Citation Information (CFF)

CODE Meta Information (INI)

codemeta.json Meta Information (JSON)

LICENSE License Information

VERSION Current Version Number

RUNME.m Minimal Code Example

emgr.m Empirical Gramian Framework (main file, crc32:f76f4638)

emgrTest.m Run all tests

est.m Empirical System Theory (EST) emgr prototype frontend

estTest.m EST System Tests

estDemo.m Run demo (sample applications)

  • 'hnm' Hyperbolic Network Model
  • 'isp' Inverse Sylvester Procedure
  • 'fss' Flexible Space Structures
  • 'nrc' Nonlinear Resistor-Capacitor Cascade
  • 'rqo' Random Diagonal System with Quadratic Output
  • 'aps' All Pass System
  • 'lte' Linear Transport Equation
  • 'fbc' Five Body Choreography
  • 'qso' Quasi-Stable Orbits Inside Black Holes

estProbe.m emgr factorial comparison of singular value decays

test_dwj.m Test partioned joint Gramian computation

est.scm EST tree-based documentation in Scheme

emgr-ref.pdf emgr reference cheat sheet

py/emgr.py Empirical Gramian Framework (Python variant)

py/RUNME.py Minimal Code Example (Python variant)

py/emgrProbe.py Factorial emgr.py tests

Documentation Table-of-Contents

More information at: https://gramian.de

See also: C. Himpe: "emgr - EMpirical GRamian Framework 5.99"; Transactions on Mathematical Software, 49(3): 31, 2023.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.