Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Evaluating derivatives : principles and techniques of algorithmic differentiation
Griewank A., Walther A., Society for Industrial and Applied Mathematics, Philadelphia, PA, 2008. 460 pp. Type: Book (9780898716597)
Date Reviewed: Dec 12 2008

Evaluating derivatives of functions is a problem frequently encountered in various areas of scientific computing. This is especially important if the task at hand comes from a nonlinear problem, regardless of whether the precise background is in optimization, control theory, or differential equations. Thus, there is a need for well-understood and efficient methods for the evaluation of derivatives.

A traditional approach is the technique of numerical differentiation. However, it is well known that this method can suffer from serious numerical instabilities, due to the cancellation of terms in finite-precision arithmetic. A conceptually different idea that has the potential to avoid such problems is symbolic differentiation by computer algebra packages, but this approach tends to be too slow for today’s large real-world applications. Thus, it seems that a completely different path may be worth studying. The topic of this book is such a path: the method of algorithmic--or, as some authors prefer to say, automatic--differentiation.

Written by some of the leading researchers in this area, the book provides very detailed information about many aspects related to algorithmic differentiation. The style of writing is clear and comprehensible for novices.

The text is divided into three parts. The first part (chapters 1 to 6) is a comprehensive introduction to algorithmic differentiation. It can be used, without any additional material, to learn the basic ideas and the different concrete approaches (in particular, the forward mode and the reverse mode of algorithmic differentiation), including their advantages and disadvantages with respect to computational complexity and memory requirements; it also explains the issues that need to be addressed when implementing such algorithms. This part consists mainly of well-established, classical, standard material.

The second part (chapters 7 to 11) deals with more advanced questions and provides more recent results. The emphasis here is on the computational complexity of the problem and on efficient ways to minimize the run time of the algorithms. Readers who only want to learn what algorithmic differentiation is and how it can be used can skip this part, but it makes for interesting reading for those who want to dig deeper into the matter and use algorithmic differentiation in practice.

Finally, the third part (chapters 12 to 15) addresses topics that are currently under investigation by the algorithmic differentiation community. This part is of a very advanced nature and is mainly of interest to people who want to undertake research in this area, including those whose problems cannot be handled appropriately by standard algorithms because, for example, they are very large or require derivatives of a high order.

Reviewer:  Kai Diethelm Review #: CR136341 (0911-1015)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Automatic Differentiation (G.1.4 ... )
 
 
Computation Of Transforms (F.2.1 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Automatic Differentiation": Date
Using AD to solve BVPs in MATLAB
Shampine L., Ketzscher R., Forth S. ACM Transactions on Mathematical Software 31(1): 79-94, 2005. Type: Article
Apr 20 2005
Algorithm 799: revolve: an implementation of checkpointing for the reverse or adjoint mode of computational differentiation
Griewank A., Walther A. ACM Transactions on Mathematical Software 26(1): 19-45, 2000. Type: Article
Oct 1 2000
Accurate numerical derivatives in MATLAB
Shampine L. ACM Transactions on Mathematical Software 33(4): 26-es, 2007. Type: Article
Feb 25 2008

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy