Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation, Second Edition
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. This second edition covers recent developments in applications and theory, including an elegant NP completeness argument and an introduction to scarcity. 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: a stand-alone introduction to the fundamentals of AD and its software; a thorough treatment of methods for sparse problems; and final chapters on program-reversal schedules, higher derivatives, nonsmooth problems and iterative processes.
What people are saying - Write a review
We haven't found any reviews in the usual places.
Other editions - View all
adouble algorithm apply argument arithmetic operations assumption automatic differentiation bound calculation call tree chain rule Chapter checkpointing column complexity components compression computational graph consider control flow graph convergence corresponding cost defined dependent difference quotients directional derivatives domain edges elemental functions elimination equation evaluation procedure example Exercise Fixed Point Iteration floating point forward and reverse forward mode forward sweep function F gradient Hence Hessian implementation incremental independent variables intermediate iteration Jacobian Laurent linear listed in Table loop Markowitz matrix maximal methods minimal multiplications nonincremental nonlinear nonzero obtain OpenMP operations count operator overloading optimal overwriting partial polynomial problem propagation Proposition recurrence reduce respect result return sweep reversal schedule reverse mode runtime scalar second-order adjoint sparse sparsity tangent tape Taylor coefficients Taylor polynomials Taylor series tensor univariate values vector vertex vertices yields zero