PADRE2
PADRE2, a Fortran precompiler yielding error estimates and second derivatives. PADRE2 is a precomplier that generates a Fortran subprogram from another Fortran subprogram (source subprogram) representing a scalar-valued function or a vector-valued function with many variables. The generated subprogram comprises three types of subprograms, which compute the gradient, the product of the Hessian matrix and a constant vector, and the product of the Jacobian matrix and a constant vector as well as the estimates of the rounding errors. The computation involves algorithms based on Fast Automatic Differentiation (and automatic differentiation). Since the error estimates are indispensable to determine whether the computed value is numerically zero, software systems for Fast Automatic Differentiation like PADRE2 are valuable. We discuss the performance of Fast Automatic Differentiation, specifically, the overhead for using the technique with PADRE2. Our results show that the execution times of the generated subprograms are 4∼85 times as large as those of the source subprograms in our numerical experiments. Although the ratio might become larger (∼ 460) when the source program is executed on a vector processor, we can reduce the ratio with adequate modification of the generated subprogram. The implementation of PADRE2, as well as future improvements, is briefly explained.
Keywords for this software
References in zbMATH (referenced in 14 articles , 1 standard article )
Showing results 1 to 14 of 14.
Sorted by year (- Baydin, Atılım Güneş; Pearlmutter, Barak A.; Radul, Alexey Andreyevich; Siskind, Jeffrey Mark: Automatic differentiation in machine learning: a survey (2018)
- Christianson, Bruce: A Leibniz notation for automatic differentiation (2012)
- Griewank, Andreas: Who invented the reverse mode of differentiation? (2012)
- Kubota, Koichi: Computation of matrix permanent with automatic differentiation (2006)
- Ono, H.; Yoshida, T.: Two-stage explicit Runge-Kutta type methods using derivatives (2004)
- Martins, Joaquim R. R. A.; Sturdza, Peter; Alonso, Juan J.: The complex-step derivative approximation (2003)
- Hovland, P.; Bischof, C.; Spiegelman, D.; Casella, M.: Efficient derivative codes through automatic differentiation and interface contraction: An application in biostatistics (1997)
- Iri, Masao: Roles of automatic differentiation in nonlinear analysis and high-quality computation (1997)
- Berz, Martin (ed.); Bischof, Christian (ed.); Corliss, George (ed.); Griewank, Andreas (ed.): Computational differentiation: techniques, applications, and tools. Proceedings of the second international workshop on computational differentiation, February 12--14, 1996 (1996)
- Griewank, Andreas; Juedes, David; Utke, Jean: Algorithm 755: ADOL-C: A package for the automatic differentiation of algorithms written in C/C++ (1996)
- Kubota, Koichi: PADRE2 -- Fortran precompiler for automatic differentiation and estimates of rounding errors (1996)
- Juedes, David W.: A taxonomy of automatic differentiation tools (1991)
- Kubota, Koichi: PADRE2, a Fortran precompiler yielding error estimates and second derivatives (1991)
- Thames, Joseph: Synthetic calculus. -- A paradigm of mathematical program synthesis (1991)