Modern Computational Science - Summer School
The lectures can be roughly divided into
"Fundamentals" (Part I)
and "Special Topics" (Part II).
That does not exclude, of course, applications to specific research
problems in Part I, whereas some of the methods introduced in Part II
have a wider scope and may well be regarded as "fundamental".
Finally, there are the "Practical Exercises"
on special topics from the second week of lectures.
For dates and times, please refer to the
Schedule
Part I: Fundamentals
Algorithms and Data Structures I - III
Pekka Orponen, Helsinki University of Technology TKK
We review the basic discrete data structures (sequences, trees, graphs) and discuss their efficient implementations in terms of arrays or objects and pointers. We introduce some core algorithm design paradigms (divide-and-conquer, greedy algorithms, dynamic programming), and illustrate these with fundamental techniques in sorting and searching, spanning trees and shortest paths in graphs, and sequence comparison. We discuss the analysis and significance of the runtime complexity of algorithms, and conclude with some observations about the distinction between efficiently solvable and inherently complex computational problems.
Software Engineering for Scientists
Helmut G. Katzgraber, Texas A&M University and ETH Zürich
Writing complex computer programs to study scientific problems requires careful planning and an in-depth knowledge of programming languages and tools, as well as analysis and visualization programs. In this lecture the importance of using the right tool for the right problem is emphasized. Furthermore, the core concepts needed to work in an Unix environment are presented. Common tools to organize computer programs (cvs and make), as well as to debug (gdb, valgrind) and improve them (gprof, compiler flags) are discussed, followed by simple data reduction strategies and visualization tools. Finally, some scientific libraries such as boost, GSL, LEDA and numerical recipes are outlined.
Statistical Data Analysis I + II
Thomas Kneib, University of Oldenburg
Exploratory data analysis falls in between the two classical branches
of statistics which are dealing with the description of observed data
without referring to the underlying data generating mechanism
(descriptive statistics) or with methods for drawing inferential
conclusions about the data generating mechanism (inferential statistics).
While the former does not make use of any stochastic assumptions
about the data, the latter relies on the formulation of statistical models
in terms of suitable probability distributions.
Exploratory data analysis, bridges this gap in providing statistical tools
that are often based on descriptive statistics but already hint
at inferential procedures.
In particular, exploratory data analysis is often used to generate
hypotheses about features of the data generating mechanism or on relations
between variables.
In the first lecture, we will introduce methods for describing
the distribution of univariate variables.
These will either concentrate on specific features such as the location
or the variability or may aim at describing the complete distribution.
The second lecture provides us with possibilities to study interrelations
between variables.
A particular focus will be on graphical methods but we will also sketch
certain association measures such as correlation coefficients.
Ordinary differential equations, and a brief introduction to elliptic partial differential equations
Burkhard Kleihaus, University of Oldenburg
These lectures focus on methods to compute numerical solutions of ordinary differential equations and elliptic partial differential equations. First, simple methods and basic properties like convergence and numerical error estimates are introduced. Subsequently, more sophisticated methods like multi-step methods and Runge-Kutta methods are discussed. As example we apply these methods to Black Holes and Black Strings. In the second part of the lectures the basic methods for numerical solutions of elliptic differential equations are introduced.
Monte Carlo Methods in Statistical Physics I + II
Helmut G. Katzgraber, Texas A&M University and ETH Zürich
Monte Carlo methods play an important role in scientific computation,
especially when problems have a vast phase space.
In this lecture an introduction to the Monte Carlo method is given.
Concepts such as Markov chains, detailed balance, critical slowing down,
and ergodicity, as well as the Metropolis algorithm are explained.
The Monte Carlo method is illustrated by numerically studying
the critical behavior of the two-dimensional Ising ferromagnet
using finite-size scaling methods.
In the second part of the lecture advanced Monte Carlo methods
are described (parallel tempering Monte Carlo) and illustrated
with nontrivial models from the physics of glassy systems.
Special attention is paid to the equilibration of the simulations,
as well as the inclusion of autocorrelation effects.
Random Number Generation
Stephan Mertens, Otto-von-Guericke University Magdeburg
Monte Carlo simulations are an important tool in statistical physics, complex system science, and many other fields. An increasing number of these simulations is run on parallel systems ranging from multicore desktop computers to supercomputers with thousands of CPUs. This raises the issue of generating large amounts of random numbers in a parallel application. In this lecture we will learn just enough of the theory of pseudo random number generation to make wise decisions on how to choose and how to use random number generators when it comes to large scale, parallel simulations.
Optimization I + II
Stephan Mertens, Otto-von-Guericke University Magdeburg
Many computational problems in science, technical and commercial applications are optimization problems. Physicists want to find the ground state of a many particle system, engineers the cheapest way to connect a set of houses to the cable network, and manufacturers the most efficient distribution of tasks among workers. In these lectures we will discuss some fundamental optimization problems and how to solve them or understand why we can't. And of course we will also talk about how to deal with optimization problems that we can't solve.
A short ad hoc introduction to spectral methods for parabolic PDE
and the Navier-Stokes equations I + II
Hannes Uecker, University of Oldenburg
We provide and explain a simple self-contained octave (Matlab) implementation of a Fourier spectral solver for the 2D Navier-Stokes equations in a periodic box, including a discussion of anti-aliasing and power-spectra. We illustrate the solver with some examples including some (weakly) turbulent flows.
Part II: Special Topics
Principal Component Analysis
Jörn Anemüller, University of Oldenburg
Modern experimental methods in the natural sciences and engineering
disciplines routinely measure multidimensional data where each sample
is represented by an N-dimensional measurement vector,
e.g., derived from multiple sensors.
The N dimensions of the measurement are typically redundant
to some extent such that knowledge of one sensor's signal provides
at least partial information about another sensor.
Hence, the measured data can be modeled as largely confined
to an M-dimensional subspace of the N-dimensional measurement space
(M < N).
Principal Component Analysis (PCA) and a more general variant,
Independent Component Analysis (ICA), are derived in the Lecture
as methods that extract the appropriate subspace from knowledge
of the measurements alone.
I.e., the data embedding is derived in a data-driven way that makes use
of the statistics of the data.
Benefits and limitations, together with applications are discussed.
Computational Fluid Dynamics I - III
Joachim Peinke, University of Oldenburg
An introduction to CFD (Computational Fluid Dynamics) will be given. In particular we discuss the RANS and LES approximation commonly used for applications. Examples will be explained in a tutorial using OpenFOAM. Finally the use of CFD for wind energy research will be presented.
Quantum Chemistry and Quantum Dynamics:
New insight from first principles in Surface Photochemistry
Thorsten Klüner, University of Oldenburg
Photodesorption of small molecules from surfaces is one of the most
fundamental processes in surface photochemistry.
Despite its apparent simplicity, a microscopic understanding beyond
a qualitative picture still poses a true challenge for theory.
While the dynamics of nuclear motion can be treated on various levels
of sophistication, all approaches suffer from the lack of sufficiently
accurate potential energy surfaces, in particular for electronically
excited states involved in the desorption scenario.
In the last decade, we have developed a systematic and accurate
methodology to reliably calculate accurate ground and excited state
potential energy surfaces (PES) for different adsorbate-substrate systems.
These potential energy surfaces serve as a prerequisite for subsequent
quantum dynamical wave packet calculations, which allow for a direct
simulation of experimentally observable quantities such as velocity
distributions.
In this contribution, I will focus on recent results obtained
for photodesorption of NO and CO from a NiO(100) surface.
In contrast to previous studies, we were able to construct highly
accurate potential energy surfaces based on correlated quantum chemical
calculations (CASPT-2/CCSD(T)).
Despite the enormous computational cost, this level of theory turns out
to be crucial, since less sophisticated approaches
such as density functional theory (DFT) cannot even provide
a reliable description of ground state properties, not to mention
electronically excited states [1].
These potential energy surfaces were used in subsequent wave packet
studies which reveal new desorption mechanisms.
In the NO/NiO(100) case, we observed an anti-Antoniewicz scenario
in which the wave packet is initially repelled from the surface
but eventually reaches a turning point before it is back-scattered
from the surface.
State resolved desorption velocity distributions have been calculated,
and the results are in good agreement with experimental findings [2].
In the CO/NiO(100) system, we observe the formation of a genuine covalent
bond upon photoexcitation for the first time.
As demonstrated in the current study, this chemical bond formation
is the crucial step in the desorption mechanism for this system [3,4].
Again, our results are in good agreement with recent experiments.
References
-
I. Mehdaoui, T. Klüner, J. Phys. Chem. A 111 (2007),
13233: Bonding of CO and NO to NiO(100): A strategy for obtaining
accurate adsorption energies.
-
I. Mehdaoui, D. Kröner, M. Pykavy, H.-J. Freund, T. Klüner,
Phys. Chem. Chem. Phys. 8, 1584 (2006): Photo-induced desorption
of NO from NiO(100): Calculation of the four-dimensional potential
energy surfaces and systematic wave packet studies.
-
I. Mehdaoui, T. Klüner, Phys. Rev. Lett. 98, 037601 (2007):
Understanding Surface Photochemistry from First Principles:
The Case of CO-NiO(100).
- I. Mehdaoui, T. Klüner, Phys. Chem. Chem. Phys. 10 (2008), 4559: New mechanistic insight into electronically excited CO-NiO(100): A quantum dynamical analysis.
Modeling Auditory Scene Analysis by multidimensional statistical filtering
Volker Hohmann, University of Oldenburg
"Auditory Scene Analysis" (ASA) denotes the ability of the human auditory
system to decode information on sound sources from a superposition
of sounds in an extremely robust way.
ASA is closely related to the 'Cocktail-Party-Effect' (CPE), i.e.,
the ability of a listener to perceive speech in adverse conditions
at low signal-to-noise ratios.
This contribution discusses theoretical and empirical evidence suggesting
that robustness of source decoding is partly achieved by exploiting
redundancies that are present in the source signals.
Redundancies reflect the restricted spectro-temporal dynamics of real
source signals, e.g., of speech, and limit the number of possible states
of a sound source.
In order to exploit them, prior knowledge on the characteristics
of a sound source needs to be represented in the decoder/classifier
("expectation-driven processing").
In a proof-of-concept approach, novel multidimensional statistical
filtering algorithms have been shown to successfully incorporate
prior knowledge on the characteristics of speech and to estimate
the dynamics of a speech source from a superposition of speech sounds [1].
- Nix, J. and Hohmann, V. (2007): "Combined estimation of spectral envelopes and sound source direction of concurrent voices by multidimensional statistical filtering", IEEE Trans. Audio, Speech and Lang. Proc. 15(3): 995-1008.
Hybrid Systems I + II
Martin Fränzle, University of Oldenburg
Embedded digital systems have become ubiquitous in everyday life.
Many such systems, including many of the safety-critical ones,
operate within or comprise tightly coupled networks of both discrete-state
and continuous-state components.
The behavior of such hybrid discrete-continuous systems cannot be fully
understood without explicitly modeling and analyzing the tight interaction
of their discrete switching behavior and their continuous dynamics,
as mutual feedback confines fully separate analysis to limited cases.
Tools for building such integrated models and for simulating
their approximate dynamics are commercially available, e.g. Simulink
with the Stateflow extension.
Simulation is, however, inherently incomplete and has to be complemented
by verification, which amounts to showing that the coupled dynamics
of the embedded system and its environment is well-behaved,
regardless of the actual disturbance and the influences of the application
context, as entering through the open inputs of the system
under investigation.
Basic notions of being well-behaved demand that the system
under investigation may never reach an undesirable state (safety),
that it will converge to a certain set of states (stabilization),
or that it can be guaranteed to eventually reach a desirable state
(progress).
Within this school, we concentrate on automatic verification and analysis
of hybrid systems, with a focus on fully symbolic methods manipulating
both the discrete and the continuous state components symbolically
by means of predicates.
We provide an introduction to hybrid discrete-continuous systems,
demonstrate the use of predicative encodings for compactly encoding
operational high-level models, and continue to a number of methods
for automatically analyzing safety, stability, and progress.
Message Passing
Marc Mézard, Université de Paris Sud
A new field of research is rapidly expanding at the crossroad between
statistical physics, information theory and combinatorial optimization.
It deals with problems which are very important in each of these fields,
like spin glasses, error correction, or satisfiability.
All these problems can be formulated within a common framework.
An important general method which has been developed independently
in each of these fields over the last few decades is the message passing
strategy, which has generated very powerful algorithms.
The talk will survey this field, putting special emphasis
on a unified approach based on message passing.
An introduction to phylogenetic analysis
Olaf R.P. Bininda-Emonds, University of Oldenburg
Biological species do not represent independent units of analysis
because of the pattern of descent with modification through evolution.
Although this fact has been appreciated since at least Darwin,
it is only in the past 15 years that biologists have increasingly
appreciated the need to account for evolutionary relatedness
in their analyses.
However, phylogeny transcends pure biology to play an important role
in related fields.
For instance, alignment programs like Clustal rely on phylogenetic
information in constructing their guide trees.
Unfortunately, finding the optimal phylogeny for a given data set,
like most other interesting problems in computational biology,
is an NP-hard problem because the number of potential solutions ("tree
space") grows super-exponentially with the number of taxa in the analysis.
With the rapid growth of phylogenomic data and the scope of the analyses,
phylogenetic inference has also garnered increasing attention
from computer scientists eager to find fast solutions
to this difficult problem.
In this talk, I introduce the problem of phylogenetic inference in general
and discuss several optimization criteria (parsimony, likelihood,
and distance methods) and the strengths and weaknesses
of each for building evolutionary trees.
Sediment Dynamics
Jörg-Olaf Wolff, University of Oldenburg
Over the last 8 years, the area-specific hydrodynamics and the suspended particulate matter (SPM) dynamics in the East-Frisian Wadden Sea have been extensively investigated under the umbrella of the DFG Research Group on BioGeoChemistry of Tidal Flats at the University of Oldenburg. High-resolution modelling efforts for this area in combination with high-resolution measurements at the Wadden Sea time series station and novel theoretical approaches have revealed various new and exciting insights into this complex system thus significantly contributing to the current state of research. The available suite of numerical models integrates worldwide experience with innovative concepts in numerical modelling such as state-of-the-art parameterizations of physical processes and novel concepts of suspended particulate matter transport. These models have been widely used for various research applications in the Wadden Sea and the German Bight in different horizontal resolutions. Combined with sophisticated measurements using ADCP and satellite data these models enable a reliable state estimate for hydrodynamics and sediment dynamics. The response of the Wadden Sea system to atmospheric and hydrological impacts (storms and sea-level rise) will be highlighted in this lecture along with the basic underlying physics and model details.
Learning in neural nets
Andreas Engel, University of Oldenburg
Networks of artificial neurons can perform various tasks of information processing. A particularly simple architecture called feed-forward networks is well suited for the classification of input data. In many cases these networks are able to implement target classification by learning from examples. In many complex classification problems as arising, e.g., in pattern recognition, supervised learning sessions are an interesting alternative to explicit programming. Starting from a simple example some capabilities and limits of learning from examples in artificial neural nets are discussed.
Analysis of neuronal data
Jutta Kretzberg, University of Oldenburg
Biological neurons communicate with sequences of "action potentials",
stereotyped changes in their membrane voltage.
These signals are the basis for our perception of the word.
E.g., all information about the visual world is transmitted
by action potentials of retinal ganglion cells from the eye to the brain.
However, it is still a matter of intense scientific debate which features
of spike sequences of neuronal populations are most important to encode
sensory information.
To address this question, the activity of many neurons is recorded
simultaneously in electrophysiological experiments.
Based on this data, computational methods are applied to reconstruct
the stimulus, which was present during the recording.
In this lecture, a short overview of some basic concepts of neuronal data
analysis will be given.
In particular, I will introduce a Bayesian method of stimulus
reconstruction by providing Matlab routines and demonstrating
their application to multi-channel recordings from the retina.
Nonlinear Dynamics
Ulrike Feudel, University of Oldenburg
Nonlinear dynamical systems exhibit a variety of different long-term
behaviors on invariant sets such as stationary states, periodic,
quasiperiodic and chaotic motion for a given set of parameters.
These invariant sets are invariant with respect to the flow
and with respect to coordinate transformations.
Moreover, they can be stable or unstable with respect
to small perturbations.
Stable sets are called attractors, while unstable sets are
in general of saddle type.
The long-term dynamics of nonlinear dynamical systems can change suddenly
when a parameter crosses a critical threshold value.
Such changes are called bifurcations.
The lecture gives a short phenomenological introduction into bifurcation
as well as chaos theory, discusses numerical methods how to compute
invariant sets and their stability and the most important bifurcations.
Furthermore it gives insight into free software tools containing
the numerical algorithms.
Finally examples from applications are discussed such as the breakdown
of the thermohaline ocean circulation and chaotic behavior in population
dynamics to illustrate the methods.
Adaptive Networks
Bernd Blasius, University of Oldenburg
The investigation of complex networks has received a rapidly increasing amount of attention in recent years, with many applications in social, biological and technical systems. In particular, most research proceeded in two distinct directions. On the one hand, attention has been paid to the structure of the networks, revealing that simple dynamical rules, such as preferential attachment, can be used to generate complex topologies. Many of these rules are not only a useful tool for the generation of model graphs, but are also believed to shape real-world networks. On the other hand research has focused on large ensembles of dynamical systems, where the interaction between individual units is described by a complex graph. These studies have shown that the network topology can have a strong impact on the dynamics of the nodes, e.g., the absence of epidemic thresholds on scale free networks. This lecture will review recent progress in the field of complex networks. We will introduce adaptive networks which combine topological evolution of the network with dynamics in the network nodes and discuss several applications from biology and epidemiology.
Exercises: Parallel Sessions
Computational Chemistry - Introduction and Practical Exercises
Rainer Koch, University of Oldenburg
This practical session comprises two main parts: first, there will be a brief introduction to theoretical concepts used in computational chemistry [1]; and the second part will be a combined tutorial and practical course on what you can actually do with computational chemistry. You will be guided to running your first calculations and analysing their results.
- F. Jensen, Introduction to Computational Chemistry, John Wiley & Sons, Chichester, 1999.
Neural Networks
Jutta Kretzberg, Andreas Engel, University of Oldenburg
In the practical session "neural netwoks" we will combine aspects of the lectures "learning in neural nets" and "analysis of neuronal data". Using Matlab programs provided in these lectures, we will apply a simple artifical neural network (perceptron) to experimental data from a network of biological neurons. The goal will be to classify which of the responses from retinal ganglion cells was elicited by which light stimulus. Depending on the prior knowledge and interests of the participants we will give a short introduction to the Matlab proramming environment in the first session of the course and / or compare the classification performance of the perceptron with a Bayesian classification approach in the second session.