# 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 port-Hamiltonian systems
- 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: Exploring Models interactively in a jupyter environment
- Tutorial: VectorArray Basics
- What are VectorArrays and what are they used for in pyMOR?
- VectorSpaces / How to create VectorArrays
- Converting NumPy arrays to VectorArrays
- Converting VectorArrays to NumPy arrays
- Rows and columns
- Basic operations
- Copies
- Indexing and views
- DOF access
- Complex Numbers
- VectorSpace ids
- Internals / other types of arrays

- Tutorial: Binding an external PDE solver to pyMOR