pyMOR - Model Order Reduction with python¶
pyMOR is a software library for building model order reduction applications with the Python programming language. Implemented algorithms include reduced basis methods for parametric linear and non-linear problems, as well as system-theoretic methods such as balanced truncation or IRKA. All algorithms in pyMOR are formulated in terms of abstract interfaces for seamless integration with external PDE solver packages. Moreover, pure Python implementations of finite element and finite volume discretizations using the NumPy/SciPy scientific computing stack are provided for getting started quickly.
- Getting started
- Technical Overview
- Environment Variables
- pyMOR Tutorials
- Tutorial: Using pyMOR’s discretization toolkit
- Tutorial: Building a Reduced Basis
- Tutorial: Projecting a Model
- Tutorial: Linear time-invariant systems
- Tutorial: Reducing an LTI system using balanced truncation
- Tutorial: Model order reduction for unstable LTI systems
- Tutorial: Model order reduction with artificial neural networks
- Tutorial: Model order reduction for PDE-constrained optimization problems
- An elliptic model problem with a linear objective functional
- Optimizing with the FOM using finite differences
- Optimizing with the ROM using finite differences
- Computing the gradient of the objective functional
- Optimizing using a gradient in FOM
- Optimizing using a gradient in ROM
- Beyond the traditional offline/online splitting: enrich along the path of optimization
- Adaptively enriching along the path
- Conclusion and some general words about MOR methods for optimization
- Tutorial: Binding an external PDE solver to pyMOR
- Release Notes
- pyMOR 2021.1 (September 24, 2021)
- pyMOR 2020.2 (December 10, 2020)
- pyMOR 2020.1 (July 23, 2020)
- pyMOR 2019.2 (December 16, 2019)
- Release highlights
- Additional new features
- Extended FEniCS bindings
- Improved greedy algorithms
- Numerical linear algebra algorithms
- Support for low-rank operators
- Improved string representations of pyMOR objects
- Easier working with immutable objects
- project and assemble_lincomb are easier to extend
- Improvements to pyMOR’s discretization toolbox
- Backward incompatible changes
- Further notable improvements
- pyMOR 0.5 (January 17, 2019)
- pyMOR 0.4 (September 28, 2016)
- pyMOR 0.3 (March 2, 2015)
- Bibliography
- Developer Documentation