## Lectures

The following courses are regularly taught, partly in collaboration with
the staff of the computing center.
Visit our current teaching activities to
check what is actually offered right now.
This introductory course sets the stage for all other courses.
The focus is on reducing complexity by means of exploiting the
structure of a given problem as well as on the application of
parallel computing technologies.
It is regularly held by Prof. Bischof and is at the very core
of his *Vertiefungsfach*
"High-Performance Computing".
(Before the move to the Ba/Ma system, this course was offered as V4 + Ü2.)
This lecture deals with techniques to improve performance on
high-performance computers such as blocking and parallelizing.
Algorithms for linear systems, eigenvalue problems, and
numerical integration are discussed. The course is held by
PD Dr. Lang.
This lecture covers algorithms and data structures for efficiently
solving
geometric problems, such as locating objects, determining next neighbors
among a set of objects, determining (convex or other) hulls, finding
intersection points, etc.
Such problems arise in a variety of applications ranging from computer
graphics to data retrieval and data evaluation.
The course is held by
PD Dr. Lang.
(This course is no longer offered.)
Large-scale problems are often tackled by parallel computers simply to
get rid of the storage limitations imposed by conventional serial computers.
Unfortunately, classical algorithms designed in the serial von Neuman-style
tend to loose efficiency when implemented on parallel computers. This is the
reason why algorithms specificly-designed with parallelism in mind are necessary.
The course covers such algorithms and corresponding software for sparse linear systems.
It is taught by PD Dr. Bücker.
The term preconditioning comprises a set ot techniques which modifies
a given system of linear equations in such a way that its iterative
solution is "easier" to compute than the solution of the original
system. Traditional preconditioning techniques are often inherently
serial. When designing a parallel preconditioner one should beware
that increasing the degree of parallelism does not decrease the
convergence behavior.
The course is taught by PD Dr. Bücker.
Numerical computing relies on the efficient mapping of mathematical
concepts to computing resources. Typically the tool-assisted step of
such a transformation is limited to the compilation of user-written
code
to a specific architecture, without any knowledge of what the user
had
in mind when he wrote that code. We discuss instances where a
rule-based
higher-level approach of semantical transformation tries to capture
some
aspect of the underlying mathematics in the compilation process.
Examples include automatic differentiation and code generation for
elementary numerical operations such as Fast Fourier Transforms
specificly-tuned towards (parallel) architectures.
The course is held by
Prof. Bischof.
Computational Differentiation is concerned with the
accurate and efficient evaluation of derivatives for functions
defined by computer programs. The resulting derivative values
are useful in scientific computations including optimization,
parameter identification, nonlinear equation solving,
numerical integration of differential equations, to name a few.
The lecture gives a comprehensive introduction to this
chainrule-based technique for evaluating derivatives.
The course is held by
Prof. Bischof.
The term "Combinatorial Scientific Computing" (CSC) is
commonly used to refer to the interdisciplinary field spanning
scientific computing and algorithmic computer science. It involves
identifying a problem in scientific computing, building an appropriate
combinatorial model of the problem, and designing algorithms to solve
the combinatorial problem.
The course is taught by PD Dr. Bücker and
Prof. Naumann.
Virtual Reality is characterized by a three-dimensional
human-computer
interface. In the industrial field, VR technology has only recently
become a powerful tool for visualization of simulations and for
prototyping. The lecture is about basic methods for the development
and
simulation of virtual environments.
The course is held by
Dr. Kuhlen.