Modulinformationssystem Informatik

 

Algorithmisches Differenzieren URL PDF XML

Modulcode: Inf-AlgoDiff
Englische Bezeichnung: Algorithmic Differentiation
Modulverantwortliche(r): Prof. Dr. Thomas Slawig
Turnus: unregelmäßig
Präsenzzeiten: 2V 2Ü
ECTS: 6
Workload: 30 Std. Vorlesung, 30 Std. Präsenzübungen, 120 Std. Selbststudium/Eigenarbeit
Dauer: ein Semester
Modulkategorien: MSc Math (Export) IG (MSc Inf) TG (MSc Inf) MV (MSc Inf)
Lehrsprache: Englisch
Voraussetzungen: Info

Kurzfassung:

The theoretical foundations form mathematical and computer science (including complexity) and the methods of realization (by source transformation and operator overloading) of algorithmic or automatic differentiation (AD) are discussed. Selected parts of AD software are implemented, AD libraries and tools are applied for selected application examples.

Lernziele:

  • Knowledge of the basic concepts and applications of algorithmic/automatic differentiation (AD)
  • Knowledge of forward and reverse mode
  • Ability to select the mode depending on the given application and problem size
  • Knowledge in source transformation and operator overloading
  • Ability to implement a basic AD library
  • Ability in the selection and usage of AD software, depending on typical given problems and tasks form computational science
  • Knowledge of AD complexity
  • Knowledge of the main difficulties in differentiation of non-smooth and iterative functions and ability to avoid these problems.

Lehrinhalte:

  • Notions and definitions of differentiability
  • Typical applications of derivatives in computational science
  • Representation of a function as evaluation graph
  • Source transformation
  • Operator overloading
  • Forward and reverse mode
  • Complexity
  • Overview of available AD software
  • Usage and implementation of AD software
  • Differentiation of non-smooth and iterative functions

Weitere Voraussetzungen:

Basic calculus (differentiation in one and more dimensions), linear algebra (matrix and vector notation and algebra), basics of graphs, programming ability in a higher language, concept of operator overloading in object-oriented programming

Prüfungsleistung:

Oral or written exam.

Lehr- und Lernmethoden:

Lectures, group exercises, discussions, self-study and computer work in groups.

Verwendbarkeit:

Literatur:

Griewank, Walther: Evaluating Derivatives - Principles of Algorithmic Differentiation, SIAM 2008 (2.Auflage)

Fischer: Algorithmisches Differenzieren, Skript TU München 2006 http://www-m1.ma.tum.de/foswiki/pub/M1/Lehrstuhl/HFischerAlgorithmischesDifferenzieren/Vorlesung-10.pdf (german)

Giering, Kaminski: Recipees for Adjoint Code Construction, http://www.fastopt.com/papers/racc.pdf

Verweise:

Kommentar:

Module can be used as "Wahlpflichtmodul" in BSc Computer Science.