Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Algorithm 755: ADOL-C: a package for the automatic differentiation of algorithms written in C/C++

Published: 01 June 1996 Publication History
  • Get Citation Alerts
  • Abstract

    The C++ package ADOL-C described here facilitates the evaluation of first and higher derivatives of vector functions that are defined by computer programs written in C or C++. The resulting derivative evaluation routines may be called from C/C++, Fortran, or any other language that can be linked with C. The numerical values of derivative vectors are obtained free of truncation errors at a small multiple of the run-time and randomly accessed memory of the given function evaluation program. Derivative matrices are obtained by columns or rows. For solution curves defined by ordinary differential equations, special routines are provided that evaluate the Taylor coefficient vectors and their Jacobians with respect to the current state vector. The derivative calculations involve a possibly substantial (but always predictable) amount of data that are accessed strictly sequentially and are therefore automatically paged out to external files.

    Supplementary Material

    GZ File (755.gz)
    Software for "ADOL-C: A Package for the Automatic Differentiation of Algorithms Written in C/C++"

    References

    [1]
    AVERICK, B., MORE, J., BISCHOF, C., CARLE, A., AND GRIEWANK, A. 1993. Computing large sparse Jacobian matrices using automatic differentiation. Preprint MCS-P348-0193, Argonne National Laboratory, Argonne, Ill.
    [2]
    BISCHOF, C. H., CARLE, A., CORLISS, G. F. GRIEWANK, A., AND HOVLAND P. 1992. ADIFOR: Generating derivative codes from Fortran programs. Sci. Program. 1, 1, 1-29.
    [3]
    BRENAN, K. E., CAMPBELL, S. L., AND PETZOLD, L. R. 1989. Numerical Solution of Initial Value Problems in Differential-Algebraic Equations. Elsevier (North-Holland), Amsterdam.
    [4]
    CACUCI, D. G. 1981a. Sensitivity theory for nonlinear systems. I. Nonlinear functional analysis approach. J. Math. Phys. 22, 12, 2794-2802.
    [5]
    CACUCI, D.G. 1981b. Sensitivity theory for nonlinear systems. II. Extension to additional classes of responses. J. Math. Phys. 22, 12, 2803-2812.
    [6]
    CHRISTIANSON, B. 1992. Reverse accumulation and accurate rounding error estimates for Taylor series. Opt. Methods Softw. 1, 81-94.
    [7]
    GRIEWANK, A. 1990. Direct calculation of Newton steps without accumulating Jacobians. In Large-Scale Numerical Optimization, T. F. Coleman and Yuying Li, Eds. SIAM, Philadelphia, Pa., 115-137.
    [8]
    GRIEWANK, A. 1992. Achieving logarithmic growth of temporal and spatial complexity in reverse automatic differentiation. Opt. Methods Softw. 1, 35-54.
    [9]
    GRIEWANK, A. AND REESE, S. 1991. On the calculation of Jacobian matrices by the Markowitz rule. In Automatic Differentiation of Algorithms: Theory, Implementation, and Application, A. Griewank and G. F. Corliss, Eds. SIAM, Philadelphia, Pa.
    [10]
    HAIRER, E. AND WANNER, G. 1991. Solving Ordinary Differential Equations H. Springer- Verlag, Berlin.
    [11]
    HORWEDEL, J. E., WORLE~, B. A., OBLOW, E. M., AND PIN, F. G. 1988. GRESS version 1.0 users manual. Tech. Memo. ORNL/TM 10835, Oak Ridge National Laboratory, Oak Ridge, Tenn.
    [12]
    KEDEM, G. 1980. Automatic differentiation of computer programs. ACM Trans. Math. Softw. 6, 2 (June), 150-165.
    [13]
    KUBOTA, K. 1991. PADRE2, a FORTRAN precompiler yielding error estimates and second derivatives. In Automatic Differentiation of Algorithms: Theory, Implementation, and Application, A. Griewank and G. F. Corliss, Eds. SIAM, Philadelphia, Pa, 251-262.
    [14]
    LINNAINMAA, S. 1976. Taylor expansion of the accumulated rounding error. BIT (Nordisk Tidskrift for Informationsbehandling) 16, 1, 146-160.
    [15]
    OSTROVSKII, G. M., VOLIN, V. M., AND BORISOV, W. W. 1971. Ober die Berechnung von Ableitungen. Wissenschaftliche Zeitschrift der Technischen Hochschule far Chemie, Leuna- Merseburg 13, 4, 382-384.
    [16]
    RALL, L.B. 1981. Automatic Differentiation: Techniques and Applications. Lecture Notes in Computer Science, vol. 120. Springer-Verlag, Berlin.
    [17]
    RALL, L.B. 1983. Differentiation and generation of Taylor coefficients in Pascal-SC. In A New Approach to Scientific Computation, U. W. Kulisch and W. L. Miranker, Eds. Academic Press, New York, 291-309.
    [18]
    SPEELPENNING, B. 1980. Compiling fast partial derivatives of functions given by algorithms. Ph.D. thesis, Dept. of Computer Science, Univ. of Illinois at Urbana-Champaign, Urbana- Champaign, Ill.
    [19]
    TALAGRAND, O. AND COURTIER, P. 1987. Variational assimilation of meteorological observations with the adjoint vorticity equation--Part I. Theory. Q. J. R. Meteorol. Soc. 113, 1311-1328.
    [20]
    WENGERT, R.E.1964. A simple automatic derivative evaluation program. Commun. ACM 7, 8, 463-464.
    [21]
    WERBOS, P. 1974. Beyond regression: New tools for prediction and analysis in the behavioral sciences. Ph.D thesis, Committee on Applied Mathematics, Harvard Univ., Cambridge, Mass. Nov.

    Cited By

    View all
    • (2024)Evaluation of Programming in C using WSM MethodREST Journal on Emerging trends in Modelling and Manufacturing10.46632/jemm/9/4/29:4(10-17)Online publication date: 25-Jun-2024
    • (2024)High-performance finite elements with MFEMThe International Journal of High Performance Computing Applications10.1177/10943420241261981Online publication date: 14-Jun-2024
    • (2024)A Matrix-Free Exact Newton MethodSIAM Journal on Scientific Computing10.1137/23M157017X46:3(A1423-A1440)Online publication date: 2-May-2024
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Mathematical Software
    ACM Transactions on Mathematical Software  Volume 22, Issue 2
    June 1996
    128 pages
    ISSN:0098-3500
    EISSN:1557-7295
    DOI:10.1145/229473
    • Editor:
    • Ronald Boisvert
    Issue’s Table of Contents
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 June 1996
    Published in TOMS Volume 22, Issue 2

    Permissions

    Request permissions for this article.

    Check for updates

    Badges

    Author Tags

    1. Hessians
    2. Taylor coefficients
    3. automatic differentiation
    4. chain rule
    5. forward mode
    6. gradients
    7. overloading
    8. reverse mode

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)277
    • Downloads (Last 6 weeks)34
    Reflects downloads up to 28 Jul 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Evaluation of Programming in C using WSM MethodREST Journal on Emerging trends in Modelling and Manufacturing10.46632/jemm/9/4/29:4(10-17)Online publication date: 25-Jun-2024
    • (2024)High-performance finite elements with MFEMThe International Journal of High Performance Computing Applications10.1177/10943420241261981Online publication date: 14-Jun-2024
    • (2024)A Matrix-Free Exact Newton MethodSIAM Journal on Scientific Computing10.1137/23M157017X46:3(A1423-A1440)Online publication date: 2-May-2024
    • (2024)Asymptotic numerical method for hyperelasticity and elastoplasticity: a reviewProceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences10.1098/rspa.2023.0714480:2285Online publication date: 6-Mar-2024
    • (2024)Merging automatic differentiation and the adjoint method for photonic inverse designMachine Learning: Science and Technology10.1088/2632-2153/ad54115:2(025076)Online publication date: 21-Jun-2024
    • (2024)Toward state estimation by high gain differentiators with automatic differentiationOptimization Methods and Software10.1080/10556788.2024.2320737(1-16)Online publication date: 14-Mar-2024
    • (2024)Shaping the laser control landscape of a hydrogen transfer reaction by vibrational strong coupling. A direct optimal control approachThe Journal of Chemical Physics10.1063/5.0193502160:7Online publication date: 15-Feb-2024
    • (2024)An Hermite–Obreshkov method for 2nd-order linear initial-value problems for ODENumerical Algorithms10.1007/s11075-023-01738-z96:3(1109-1141)Online publication date: 1-Jul-2024
    • (2023)Differentiable programming in machine learningTehnika10.5937/tehnika2306699K78:6(699-711)Online publication date: 2023
    • (2023)The deal.II Library, Version 9.5Journal of Numerical Mathematics10.1515/jnma-2023-008931:3(231-246)Online publication date: 22-Aug-2023
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Full Access

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media