SIAM Homepage | Search Catalog | New Books | Author Index | Series Index | Title Index | View My Shopping Cart

The catalog and shopping cart are hosted for SIAM by EasyCart. Your transaction is secure. If you have any questions about your order, contact

Purchase Now!

The Art of Differentiating Computer Programs: An Introduction to Algorithmic DifferentiationThe Art of Differentiating Computer Programs: An Introduction to Algorithmic Differentiation

Uwe Naumann

Software, Environments, and Tools 24

This is the first entry-level book on algorithmic (also known as automatic) differentiation (AD), providing fundamental rules for the generation of first- and higher-order tangent-linear and adjoint code. The author covers the mathematical underpinnings as well as how to apply these observations to real-world numerical simulation programs.

Readers will find
many examples and exercises, including hints to solutions;
the prototype AD tools dco and dcc for use with the examples and exercises;
first- and higher-order tangent-linear and adjoint modes for a limited subset of C/C++, provided by the derivative code compiler dcc.
a supplementary website containing sources of all software discussed in the book, additional exercises and comments on their solutions (growing over the coming years), links to other sites on AD, and errata.

This book is intended for undergraduate and graduate students in computational science, engineering, and finance as well as applied mathematics and computer science. It will provide researchers and developers at all levels with an intuitive introduction to AD.

About the Author
Uwe Naumann is Associate Professor for Computer Science at RWTH Aachen University. He has co-chaired international conferences on AD held in Nice (2000), Chicago (2004), and Bonn (2008) and co-edited the proceedings for those conferences. His professional interests are primarily motivated by AD. They range from compilers for the semantic transformation of numerical programs via corresponding (domain-specific) program analyses and combinatorial algorithms to high-performance scientific computing and the application of adjoint methods in computational science, engineering, and finance. He has co-authored more than 80 publications and is a member of SIAM and of the Numerical Algorithms Group, Ltd.

User Guide

To request an examination copy or desk copy of this book, please use our online request form at

Algorithmic Differentiation, Adjoints, Sensitivity Analysis, Nonlinear Programming, Derivative Code Compiler

2012 / xviii + 340 pages / Softcover / ISBN 978-1-611972-06-1
List Price $93.00 / SIAM Member Price $65.10 / Order Code SE24
Quantity desired

Search our catalog for:

Shopping cart provided by:
Select quantity and list or member price and then click the "Click to Order" button to add books to your shopping cart.
Banner art adapted from a figure by Hinke M. Osinga and Bernd Krauskopf (University of Auckland, NZ.)