- Difference between Algorithmic and Mathematical Differentiability
- Basic Concepts of Algorithmic Differentiation (AD)
- Forward Mode of AD
- Reverse Mode of AD
- Higher Order Derivatives
- Implementation and Software
- Source to Source vs. Operator Overloading Techniques
- Reversal Schedules and Loop Checkpointing
- Implicit and Iterative Differentiation
Algorithmic Differentiation (M, 5.0 LP)
|Module Number||Module Name||CP (Effort)|
|INF-14-57-M-6||Algorithmic Differentiation||5.0 CP (150 h)|
|CP, Effort||5.0 CP = 150 h|
|Position of the semester||1 Sem. in WiSe|
|Level|| Master (General)|
|Area of study||[INF-VIS] Visualisation and Scientific Computing|
|Reference course of study||[INF-88.79-SG] M.Sc. Computer Science|
|Type/SWS||Course Number||Title||Choice in |
|SL||SL is |
required for exa.
|P||56 h||94 h||
Examination achievement PL1
- Form of examination: written exam (Klausur) (60-180 Min.)
- Examination Frequency: Examination only within the course
- Examination number: 61457 ("Algorithmic Differentiation")
Evaluation of grades
The grade of the module examination is also the module grade.
Competencies / intended learning achievements
Algorithmic or Automatic Differentiation (AD) is a set of techniques based on the mechanical application of the chain rule to obtain derivatives of a function given as a computer program. AD exploits the fact that every computer program, no matter how complicated, executes a sequence of elementary arithmetic operations such as additions or elementary functions such as exp(). By applying the chain rule of derivative calculus repeatedly to these operations, derivatives of arbitrary order can be computed automatically, and accurate to working precision. The students shall understand the various techniques of AD presented during the semester and become capable to apply these AD techniques to C and C++ codes from science and engineering.
- A. Griewank und A. Walther: Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation, Second Edition. SIAM 2008.
- U. Naumann: The Art of Differentiating Computer Programs. SIAM, 2012.
- current scientific literature.
Requirements for attendance of the module (informal)
Programming Skills in C/C++
Requirements for attendance of the module (formal)None
References to Module / Module Number [INF-14-57-M-6]
|Course of Study||Section||Choice/Obligation|
|[INF-88.79-SG] M.Sc. Computer Science||[Specialisation] Specialization 1||[WP] Compulsory Elective|
|[MAT-88.105-SG] M.Sc. Mathematics||[Subsidiary Topic] Subsidiary Topic (Minor)||[WP] Compulsory Elective|
|[MAT-88.118-SG] M.Sc. Industrial Mathematics||[Core Modules (non specialised)] Computer Science and Computational Methods||[WP] Compulsory Elective|
|[MAT-88.276-SG] M.Sc. Business Mathematics||[Core Modules (non specialised)] Computer Science and Computational Methods||[WP] Compulsory Elective|