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 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 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
API Documentation¶
- pymor package
- Subpackages
- pymor.algorithms package
- pymor.analyticalproblems package
- pymor.bindings package
- pymor.core package
- pymor.discretizers package
- pymor.models package
- pymor.operators package
- pymor.parallel package
- pymor.parameters package
- pymor.reductors package
- pymor.scripts package
- pymor.tools package
- pymor.vectorarrays package
- Submodules
- Subpackages
Demo Applications¶
- pymordemos package
- Submodules
- analyze_pickle module
- burgers module
- burgers_ei module
- delay module
- elliptic module
- elliptic2 module
- elliptic_oned module
- elliptic_unstructured module
- fenics_nonlinear module
- hapod module
- heat module
- linear_optimization module
- neural_networks module
- neural_networks_fenics module
- neural_networks_instationary module
- parabolic module
- parabolic_mor module
- parametric_delay module
- parametric_heat module
- parametric_string module
- parametric_synthetic module
- string_equation module
- thermalblock module
- thermalblock_adaptive module
- thermalblock_gui module
- thermalblock_simple module
- Submodules