Skip to main content
Log in

Using Forward Accumulation for Automatic Differentiation of Implicitly-Defined Functions

  • Published:
Computational Optimization and Applications Aims and scope Submit manuscript

Abstract

This paper deals with the calculation of partial derivatives (w.r.t. the independent variables, x) of a vec of dependent variables y which satisfy a system of nonlinear equations g(u(x), y) = 0 . A number of authors have suggested that the forward accumulation method of automatic differentiation can be applied to a suitable iterative scheme for solving the nonlinear system with a view to giving simultaneous convergence both to the correct value y and also to its Jacobian matrix y x . It is known, however, that convergence of the derivatives may not occur at the same rate as the convergence of the y values. In this paper we avoid both the difficulty and the potential cost of iterating the gradient part of the calculation to sufficient accuracy. We do this by observing that forward accumulation need only be applied to the functions g after the dependent variables, y, have been computed in standard real arithmetic usin g any appropriate method. This so-called Post-Differentiation (PD) technique is shown, on a number of examples, to have an advantage in terms of both accuracy and speed over approaches where forward accumulation is applied over the entire iterative process. Moreover, the PD technique can be implemented in such a way as to provide a friendly interface for non-specialist users.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. M. Bartholomew-Biggs, “Using a Fortran90 module for automatic differentiation,” Working Paper, Numerical Optimisation Centre, University of Hertfordshire, 1994.

  2. M. Bartholomew-Biggs, L. Bartholomew-Biggs, and B. Christianson, “Optimization and auto differentiation in Ada: some practical experience,” Optimization Methods and Software, vol. 4, pp. 47-73, 1994.

    Google Scholar 

  3. M. Bartholomew-Biggs, S. Brown, B. Christianson, and L. Dixon, “The efficient calculation of gradients, Jacobians and Hessians,” Technical Report 301, Numerical Optimisation Centre, University of Hertfordshire, 1995.

  4. C. Bischof, A. Carle, G. Corliss, A. Griewank, and P. Hovland, “ADIFOR: Generating derivative codes from Fortran programs,” Scientific Programming, vol. 1, pp. 11-29, 1992.

    Google Scholar 

  5. C. Bischof, A. Carle, P. Khademi, and A. Mauer, “The ADIFOR 2.0 system for the automatic differentiation of Fortran77 programs,” Preprint MCS-P481-1194, Mathematics and Computer Science Division, Argonne National Laboratory, 1994.

  6. C. Broyden, “A class of methods for solving nonlinear simultaneous equations,” Math. Comp., vol. 19, pp. 577-593, 1965.

    Google Scholar 

  7. B. Christianson, “Automatic Hessians by reverse accumulation,” IMA Journal of Numerical Analysis, vol. 12, pp. 135-150, 1992.

    Google Scholar 

  8. B. Christianson, “Reverse accumulation and attractive fixed points,” Optimization Methods and Software, vol. 3, pp. 311-326, 1994.

    Google Scholar 

  9. B. Christianson and L. Dixon, “Sharing storage using dirty vectors,” Proc. 2nd SIAM Int. Workshop in Computational Differentiation, 1996 (to appear).

  10. J. Gilbert, “Automatic differentiation and iterative processes,” Optimization Methods and Software, vol. 1, pp. 13-21, 1992.

    Google Scholar 

  11. A. Griewank, “On automatic differentiation,” in Mathematical Programming: Recent Development and Application, M. Iri and K. Tanabe (Eds.), Kluwer Academic Publishers, 1989.

  12. A. Griewank, C. Bischof, G. Corliss, A. Carle, and K. Williamson, “Iterative convergence for iterative equation solvers,” Optimization Methods and Software, vol. 4, pp. 321-355, 1994.

    Google Scholar 

  13. A. Griewank, D. Juedes, and J. Utke, “ADOL C, a package for the automatic differentiation of algorithms written in C/C++,” ACM Trans. Math. Software, 1996 (to appear); [Also appeared as Preprint MCS-P180-1190, Argonne National Laboratory, 1990].

  14. L.B. Rall, Automatic Differentiation-Techniques and Applications, Springer Lecture Notes in Computer Science, vol. 120, 1981.

  15. J.K. Reid and D. Cowey, HSL AD01, Harwell Subroutine Library Specification, 1994.

  16. N. Rostaing, S. Dalmas, and A. Galligo, Automatic Differentiation in Odysee, available via http://www.mcs.ani.gov/ autodiff/AD Tools/odysee.htm/.

  17. D. Shiraev, “Fast automatic differentiation for vector processors and reduction of the spatial complexity in a source translation environment,” Dissertation, University of Karlsruhe, 1993.

  18. B.R. Stephens, “Automatic differentiation as a general purpose numerical tool,” Ph.D. Thesis, Faculty of Science, University of Bristol, 1991.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bartholomew-Biggs, M. Using Forward Accumulation for Automatic Differentiation of Implicitly-Defined Functions. Computational Optimization and Applications 9, 65–84 (1998). https://doi.org/10.1023/A:1018382103801

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1018382103801

Keywords

Navigation