Efficient computation of gradients and Jacobians by dynamic exploitation of sparsity in automatic differentiation
- 1 January 1996
- journal article
- other
- Published by Taylor & Francis in Optimization Methods and Software
- Vol. 7 (1), 1-39
- https://doi.org/10.1080/10556789608805642
Abstract
Automatic differentiation (AD) is a technique that augments computer codes with statements for the computation of derivatives. The computational workhorse of AD-generated codes for first-order derivatives is the linear combination of vectors. For many large-scale problems, the vectors involved in this operation are inherently sparse. If the underlying function is a partially separable one (e.g., if its Hessian is sparse), many of the intermediate gradient vectors computed by AD will also be sparse, even though the final gradient is likely to be dense. For large Jacobians computations, every intermediate derivative vector is usually at least as sparse as the least sparse row of the final Jacobian. In this paper, we show that dynamic exploitation of the sparsity inherent in derivative computation can result in dramatic gains in runtime and memory savings. For a set of gradient problems exhibiting implicit sparsity, we report on the runtime and memory requirements of computing the gradients with the ADIFOR (Automatic Differentiation of FORtran) tool, both with and without employing the SparsLinC (Sparse Linear Combinations) library, and show that SparsLinC can reduce runtime and memory costs by orders of magnitude. We also compute sparse Jacobians using the SparsLinC-based approach — in the process, automatically detecting the sparsity structure of the Jacobian — and show that these Jacobian results compare favorably with those of previous techniques that require a priori knowledge of the sparsity structure of the JacobianKeywords
This publication has 14 references indexed in Scilit:
- Experiences with the application of the ADIC automatic differentiation tool to the CSCMDO 3-D volume grid generation codePublished by American Institute of Aeronautics and Astronautics (AIAA) ,1996
- Parallel calculation of sensitivity derivatives for aircraft design using automatic differentiationPublished by American Institute of Aeronautics and Astronautics (AIAA) ,1994
- Applications of automatic differentiation in CFDPublished by Office of Scientific and Technical Information (OSTI) ,1994
- Computing Large Sparse Jacobian Matrices Using Automatic DifferentiationSIAM Journal on Scientific Computing, 1994
- Optimization & automatic differentiation in Ada: some practical experienceOptimization Methods and Software, 1994
- Automatic differentiation of advanced CFD codes for multidisciplinary designComputing Systems in Engineering, 1992
- ADIFOR–Generating Derivative Codes from Fortran ProgramsScientific Programming, 1992
- Automatic differentiation of large sparse systemsJournal of Economic Dynamics and Control, 1990
- Software for estimating sparse Jacobian matricesACM Transactions on Mathematical Software, 1984
- Estimation of Sparse Jacobian Matrices and Graph Coloring BlemsSIAM Journal on Numerical Analysis, 1983