

Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation
Book
  

Author(s)
Andreas Griewank
, Andrea Walther

Year 2008 
Publisher SIAM 
Abstract Algorithmic, or automatic, differentiation (ad) is a growing area of theoretical research and software development concerned with the accurate and efficient evaluation of derivatives for function evaluations given as computer programs. The resulting derivative values are useful for all scientific computations that are based on linear, quadratic, or higher order approximations to nonlinear scalar or vector functions. ad has been applied in particular to optimization, parameter identification, nonlinear equation solving, the numerical integration of differential equations, and combinations of these. Apart from quantifying sensitivities numerically, ad also yields structural dependence information, such as the sparsity pattern and generic rank of Jacobian matrices. The field opens up an exciting opportunity to develop new algorithms that reflect the true cost of accurate derivatives and to use them for improvements in speed and reliability. This second edition has been updated and expanded to cover recent developments in applications and theory, including an elegant NP completeness argument by Uwe Naumann and a brief introduction to scarcity, a generalization of sparsity. There is also added material on checkpointing and iterative differentiation. To improve readability the more detailed analysis of memory and complexity bounds has been relegated to separate, optional chapters.The book consists of three parts: a standalone introduction to the fundamentals of ad and its software; a thorough treatment of methods for sparse problems; and final chapters on programreversal schedules, higher derivatives, nonsmooth problems and iterative processes. Each of the 15 chapters concludes with examples and exercises. 
AD Theory and Techniques General, Introduction 
BibTeX
@BOOK{
Griewank2008EDP,
author = "Andreas Griewank and Andrea Walther",
title = "Evaluating Derivatives: {P}rinciples and Techniques of Algorithmic Differentiation",
publisher = "SIAM",
series = "Other Titles in Applied Mathematics",
edition = "2nd",
address = "Philadelphia, PA",
isbn = "9780898716597",
ad_theotech = "General, Introduction",
year = "2008",
url = "http://www.ecsecurehost.com/SIAM/OT105.html",
abstract = "Algorithmic, or automatic, differentiation (AD) is a growing area of theoretical
research and software development concerned with the accurate and efficient evaluation of
derivatives for function evaluations given as computer programs. The resulting derivative values are
useful for all scientific computations that are based on linear, quadratic, or higher order
approximations to nonlinear scalar or vector functions.\par AD has been applied in particular
to optimization, parameter identification, nonlinear equation solving, the numerical integration of
differential equations, and combinations of these. Apart from quantifying sensitivities numerically,
AD also yields structural dependence information, such as the sparsity pattern and generic rank of
Jacobian matrices. The field opens up an exciting opportunity to develop new algorithms that reflect
the true cost of accurate derivatives and to use them for improvements in speed and
reliability.\par This second edition has been updated and expanded to cover recent developments
in applications and theory, including an elegant NP completeness argument by Uwe Naumann and a brief
introduction to scarcity, a generalization of sparsity. There is also added material on
checkpointing and iterative differentiation. To improve readability the more detailed analysis of
memory and complexity bounds has been relegated to separate, optional chapters.The book consists of
three parts: a standalone introduction to the fundamentals of AD and its software; a thorough
treatment of methods for sparse problems; and final chapters on programreversal schedules, higher
derivatives, nonsmooth problems and iterative processes. Each of the 15 chapters concludes with
examples and exercises.",
number = "105"
}
 
back

