General course objectives
This course contributes to establishing a solid knowledge of theory
and practice in Scientific Computing, complementing with
data-driven techniques the established numerical solution of
differential equation systems based on ODEs/SDEs/PDEs. Data-driven
discovery is revolutionizing the modeling, prediction, and control
of complex systems. This course draws on machine learning,
engineering mathematics, and mathematical physics to integrate
modeling and control of dynamical systems with modern methods in
data science. The course introduce and emphasis fundamental
techniques and open source high-performance computing tools and
frameworks behind recent advances in scientific computing and the
emerging area scientific machine learning that enable data-driven
methods to be applied to solve scientific problem in a diverse
range of complex systems across science and engineering. The range
of topics help gain experience and understanding of
state-of-the-art that is useful for advanced studies of
mathematical problems arising in science and engineering
applications. The course structure is such that theoretical
foundations are discussed and examined through hands-on exercises
in the first 2/3 part of the course. In the last 1/3 part of the
course the participants are to do an assignment problem to go more
in depth with one topic or tackling a chosen problem that is to be
reported as a poster and presented orally to all participants of
the course.
Learning objectives
A student who has met the objectives of the course will be able to:
- Describe, analyze and apply fundamental principles for problems
described by differential equations that can be solved using
data-driven techniques.
- Understand problems and questions addressed by data-driven
methods.
- Understand how methods are used as building blocks to address
questions using data-driven methods.
- Be able to choose a suitable method to skillfully utilize data
and/or differential equations depending on problem to be
addressed.
- Implement some of these methods in Matlab / Python /
Julia.
- Skillfully perform numerical experiments to validate
implementations and interpret the results.
- Understand how dimensionality reduction techniques work and how
they are suitable to use.
- Understand how reduced order modeling techniques work and how
they can be used to solve differential equations and take into
account parametrization.
- Setup and train neural differential equations and
physics-informed neural networks to solve differential equations or
incorporate these as scientific knowledge to produce accurate
surrogate models.
- Identify and exploit the properties and structure of scientific
knowledge within machine learning applications.
- Understanding fundamental principles behind selected topics
(see Parts I through V below) and demonstrate these in
implementations.
- Independently solve a special topics problem offered in the
course and deliver a written presentation of results in a report
covering exercises and a poster covering the assignment.
Content
Content (to be selected from parts below and can be matched with
participants experiences in the last part of the course, cf. course
book )
==============================
PART I : Dimensionality Reduction
Singular Value Decomposition
Fourier and Wavelet Transforms
Sparsity and Compressed Sensing
PART II : Machine Learning and Data Analysis
Regression and Model Selection
Clustering and Classification
Neural Networks and Deep Learning
PART III : Dynamics and Control
Data-Driven Dynamical Systems
Linear Control Theory
Balanced Models for Control
Data-Driven Control
PART IV : Reduced Order Models
Reduced Order Models
Interpolation for Parametric Reduced Order Models
PART V : Scientific Machine Learning (Matlab/Julia/PyTorch/Jax)
High-Performance Computing
Physics-Informed Neural Networks
Universal Differential Equations and Symbolic Regression
Automatic Differentiation and Differentiable Programming
Neural ODEs
Neural Operators
Part VI : Optimisation theory
Introduction to basic optimisation theory
Part VII : Programming
Notebooks, scripts, virtual (reproducible) environments (fx.
conda), etc.
Course literature
Book, Brunton & Kutz, “Data-driven Computational Science and
Engineering”,
https://www.databookuw.com/.
Lecture slides with theory and many examples.
Selected research / review papers on selected topics where slides
or book is not sufficient.
Last updated
17. marts, 2024