Algorithm 746: PCOMP—a Fortran code for automatic differentiation

Type: Article

Publication Date: 1995-09-01

Citations: 23

DOI: https://doi.org/10.1145/210089.210091

Abstract

Automatic differentiation is an interesting and important tool for all numerical algorithms that require derivatives, e.g., in nonlinear programming, optimal control, parameter estimation, and differential equations. The basic idea is to avoid not only numerical approximations, which are expensive with respect to CPU time and contain round-off errors, but also hand-coded differentiation. This article introduces the forward and backward accumulation methods and describes the numerical implementation of a computer code with the name PCOMP. The main intention of the approach used is to provide a flexible and portable Fortran code for practical applications. The underlying language is described in terms of a formal grammar and is a subset of Fortran with a few extensions. Besides a parser that generates an intermediate code and that can be executed independently from the evaluation routines, there are other subroutines for the direct computation of function and gradient values, which can be called directly from a user program. On the other hand, it is possible to generate a Fortran code for function and gradient evaluation that can be compiled and linked separately.

Locations

  • ACM Transactions on Mathematical Software - View - PDF

Similar Works

Action Title Year Authors
+ PCOMP: A Modeling Language for Nonlinear Programs with Automatic Differentiation 2004 Klaus Schittkowski
+ Automatic differentiation bibliography 1992 George F. Corliss
+ Automatic differentiation bibliography 1992 George F. Corliss
+ PDF Chat Differentiable Programming for Differential Equations: A Review 2024 Facundo Sapienza
Jordi Bolíbar
Frank Schäfer
Brian Groenke
Avik Pal
Victor Boussange
Patrick Heimbach
Giles Hooker
Fernando Pérez
Per‐Olof Persson
+ TBR Analysis in Reverse-Mode Automatic Differentiation 2003 Laurent Hascoët
Uwe Naumann
Valérie Pascual
+ Automatic Differentiation of Algorithms: Theory, Implementation, and Application (Andreas Griewank and George F. Corliss, eds.) 1993 Richard J. Fateman
+ Automatic Differentiation for Gradients, Jacobians, and Hessians 1993 Ulrich Kulisch
Rolf Hammer
Dietmar Ratz
Matthias Hocks
+ Review of theory and implementation of hyper-dual numbers for first and second order automatic differentiation. 2018 Martin Neuenhofen
+ Review of theory and implementation of hyper-dual numbers for first and second order automatic differentiation 2018 Martin Neuenhofen
+ The Art of Differentiating Computer Programs 2011 Uwe Naumann
+ Hybrid differentiation strategies for simulation and analysis of applications in C++ 2008 Roscoe Bartlett
Bart G. van Bloemen Waanders
Martin Berggren
+ Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation 1987 Andreas Griewank
Andrea Walther
+ PDF Chat Second Argonne theory institute on differentiation of computational approximations of functions. 1998 Christian Bischof
Philippe Eberhard
Paul Hovland
+ PDF Chat A review of automatic differentiation and its efficient implementation 2019 Charles C. Margossian
+ Computational differentiation : techniques, applications, and tools 1996 Martin Berz
+ PDF Chat Source-to-Source Automatic Differentiation of OpenMP Parallel Loops 2022 Jan Hückelheim
Laurent Hascoët
+ Source-to-Source Automatic Differentiation of OpenMP Parallel Loops 2021 Jan Hückelheim
Laurent Hascoët
+ A new tool for efficient optimization by automatic differentiation and program transparency 1994 Rainer Mehlhorn
Gottfried Sachs
+ Introduction to Automatic Differentiation and MATLAB 2010 Object-Oriented Programming
Richard D. Neidinger
+ Introduction to Automatic Differentiation and MATLAB Object-Oriented Programming 2010 Richard D. Neidinger