This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
You can find the video lectures on YouTube.
The associated Julia code (in the form of Jupyter Notebooks) can be found in the "notebooks" folder. In case a certain package is missing in your Julia version, you can simply add a cell before the first one containing the two code lines
using Pkg
Pkg.add("name_of_package")
References to related literature can be found at the end of this Readme file.
- Data Science for Dynamical Systems Course Introduction 1 (DS4DS 0.01)
- Data Science for Dynamical Systems Course Introduction 2 (DS4DS 0.02)
-
Week 1:
- Solution of scalar linear autonomous ODEs (DS4DS 1.01)
- Solution of vectorial linear autonomous ODEs (DS4DS 1.02)
- Matrix exponential solution via diagonalization (DS4DS 1.03)
- Spring-mass-damper as an autonomous state-space system example (DS4DS 1.04)
- State stability of autonomous state-space systems (DS4DS 1.05)
- Nonlinear ODEs (1.06)
-
Week 2:
- Numerical solutions of ODEs 1 (DS4DS 1.07)
- Numerical solutions of ODEs 2 (DS4DS 1.08)
- Numerical solutions of ODEs 3 (DS4DS 1.09)
- State-space models with inputs (DS4DS 1.10)
- Exact solution of linear state-space models (DS4DS 1.11)
- Observability 1 (DS4DS 1.12)
- Observability 2 (DS4DS 1.13)
- Observability 3 (DS4DS 1.14)
- Discrete dynamical systems (DS4DS 1.15)
-
Week 3:
-
Week 4:
- Linear model identification: intro part 1/2 (DS4DS 2.01)
- Linear model identification: intro part 2/2 (DS4DS 2.02)
- Linear least squares solution (DS4DS 2.03)
- Ordinary least squares: static example (DS4DS 2.04)
- Ordinary least squares: bias (DS4DS 2.05)
- Ordinary least squares: covariance (DS4DS 2.06)
- Ordinary least squares: consistency (DS4DS 2.07)
-
Week 5:
- Multicollinearity (DS4DS 2.08)
- Ridge regression (DS4DS 2.09)
- Weighted least squares: motivation & solution (DS4DS 2.10)
- Weighted least squares: example (DS4DS 2.11)
- Recursive least squares: derivation part 1/2 (DS4DS 2.12)
- Recursive least squares: derivation part 2/2 (DS4DS 2.13)
- Recursive least squares: exponential forgetting (DS4DS 2.14)
- Recursive least squares: example (DS4DS 2.15)
-
Week 6:
- Ordinary Least Squares for Dynamical Systems: Introduction (DS4DS 2.16)
- Ordinary Least Squares for Dynamical Systems: Example (DS4DS 2.17)
- Ordinary Least Squares for Dynamical Systems: Limitations (DS4DS 2.18)
- Singular Value Decomposition: Motivation (DS4DS 2.19)
- Singular Value Decomposition: Interpretation (DS4DS 2.20)
- Eigendecomposition of continuous and discrete-time dynamical systems (DS4DS 2.21)
- Dynamic Mode Decomposition: Concept (DS4DS 2.22)
- Dynamic Mode Decomposition: Efficient computation (DS4DS 2.23)
-
Week 7:
-
Week 8:
-
Week 9:
-
Week 10:
- Optimization-based parameter identification (DS4DS 4.01)
- Impact of the prediction horizon in data-driven modeling (DS4DS 4.02)
- Nonlinear prediction error method identification (DS4DS 4.03)
- Global vs. local optima in nonlinear data-driven modeling (DS4DS 4.04)
- Identification of an unknown initial state (DS4DS 4.05)
- Utilizing constrained optimization for incorporating a priori knowledge (DS4DS 4.06)
-
Week 11:
- Week 12:
- Week 13:
- Overfitting and the bias-variance tradeoff (DS4DS 6.01)
- Cross validation (DS4DS 6.02)
- Sparsity and the L1 norm (DS4DS 6.03)
- Subdifferentials of non-differentiable functions (DS4DS 6.04)
- The LASSO algorithm for model selection (DS4DS 6.05)
- Sparse identification of nonlinear dynamics (SINDy) (DS4DS 6.06)
- Week 14:
- Optimal control - Introduction (DS4DS 7.01)
- Optimal control in discrete time (DS4DS 7.02)
- Optimal control of linear systems 1 - Dynamics (DS4DS 7.03)
- Optimal control of linear systems 2 - Objective function (DS4DS 7.04)
- Optimal control of linear systems 3 - Example (DS4DS 7.05)
- Linear model predictive control (DS4DS 7.06)
- Data-driven model predictive control using DMD (DS4DS 7.07)
- Differential predictive control: introduction (DS4DS 7.08)
- Differential predictive control: global vs. local optima (DS4DS 7.09)
- An introduction to the Koopman Operator (DS4DS 8.01)
- Koopman operator: Spectral decomposition 1 (DS4DS 8.02)
- Koopman operator: Spectral decomposition 2 (DS4DS 8.03)
- Koopman: Observable functions (DS4DS 8.04)
- Extended Dynamic Mode Decomposition 1 - Finite dimensional subspaces (DS4DS 8.05)
- Extended Dynamic Mode Decomposition 2 - The EDMD algorithm (DS4DS 8.06)
- Extended Dynamic Mode Decomposition 3 - Koopman eigenfunctions (DS4DS 8.07)
- Extended Dynamic Mode Decomposition 4 - Koopman modes & Summary (DS4DS 8.08)
- Dynamic Mode Decomposition as a special case of EDMD (DS4DS 8.09)
- kernel EDMD 1 - Motivation & kernel trick (DS4DS 8.10)
- kernel EDMD 2 - Main algorithm (DS4DS 8.11)
- kernel EDMD 3 - Koopman eigenfunctions and modes (DS4DS 8.12)
- The Koopman Generator (DS4DS 8.13)
- Extended DMD for the Koopman Generator (DS4DS 8.14)
-
Data science and machine learning:
-
Dynamical systems and system identification:
-
Optimization
- G. Nocedal and S. J. Wright. "Numerical Optimization." (DOI)
- The book by Nelles also has an extensive introduction to optimization.