Automatic Differentiation (AD) is a maturing computational technology and has become a mainstream tool used by practicing scientists and computer engineers. The rapid advance of hardware computing power and AD tools has enabled practitioners to quickly generate derivative-enhanced versions of their code for a broad range of applications in applied research and development. "Automatic Differentiation of Algorithms" provides a comprehensive and authoritative survey of all recent developments, new techniques, and tools for AD use. The book covers all aspects of the subject: mathematics, scientific programming ( i.e., use of adjoints in optimization) and implementation (i.e., memory management problems). A strong theme of the book is the relationships between AD tools and other software tools, such as compilers and parallelizers. A rich variety of significant applications are presented as well, including optimum-shape design problems, for which AD offers more efficient tools and techniques. Topics and features: * helpful introductory AD survey chapter for brief overview of the field *extensive applications chapters, i.e., for circuit simulation, optimization and optimal-control shape design, structural mechanics, and multibody dynamical systems modeling *comprehensive bibliography for all current literature and results for the field *performance issues *optimal control sensitivity analysis *AD use with object oriented software tool kits The book is an ideal and accessible survey of recent developments and applications of AD tools and techniques for a broad scientific computing and computer engineering readership. Practitioners, professionals, and advanced graduates working in AD development will find the book a useful reference and essential resource for their work.