|
|
Automatic versus manual model differentiation to compute sensitivities and solve non-linear inverse problems-
Article in a journal
- | |
|
Area Geophysics |
Author(s)
D. Elizondo
, B. Cappelaere
, Ch. Faure
|
Published in
Computers & Geosciences |
Year 2002 |
Abstract Emerging tools for automatic differentiation (ad) of computer programs should be of great benefit for the implementation of many derivative-based numerical methods such as those used for inverse modeling. The Odyssée software, one such tool for Fortran 77 codes, has been tested on a sample model that solves a 2D non-linear diffusion-type equation. Odyssée offers both the forward and the reverse differentiation modes, that produce the tangent and the cotangent models, respectively. The two modes have been implemented on the sample application. A comparison is made with a manually-produced differentiated code for this model (MD), obtained by solving the adjoint equations associated with the model's discrete state equations. Following a presentation of the methods and tools and of their relative advantages and drawbacks, the performances of the codes produced by the manual and automatic methods are compared, in terms of accuracy and of computing efficiency (CPU and memory needs). The perturbation method (finite-difference approximation of derivatives) is also used as a reference. Based on the test of Taylor, the accuracy of the two ad modes proves to be excellent and as high as machine precision permits, a good indication of Odyssée's capability to produce error-free codes. In comparison, the manually-produced derivatives (MD) sometimes appear to be slightly biased, which is likely due to the fact that a theoretical model (state equations) and a practical model (computer program) do not exactly coincide, while the accuracy of the perturbation method is very uncertain. The MD code largely outperforms all other methods in computing efficiency, a subject of current research for the improvement of ad tools. Yet these tools can already be of considerable help for the computer implementation of many numerical methods, avoiding the tedious task of hand-coding the differentiation of complex algorithms. |
AD Tools Odyssee |
BibTeX
@ARTICLE{
Elizondo2002Avm,
author = "D. Elizondo and B. Cappelaere and Ch. Faure",
title = "Automatic versus manual model differentiation to compute sensitivities and solve
non-linear inverse problems",
journal = "Computers \& Geosciences",
year = "2002",
volume = "28",
number = "3",
pages = "309-326",
doi = "doi:10.1016/S0098-3004(01)00048-6",
abstract = "Emerging tools for automatic differentiation (AD) of computer programs should be of
great benefit for the implementation of many derivative-based numerical methods such as those used
for inverse modeling. The Odyss\'ee software, one such tool for Fortran 77 codes, has been
tested on a sample model that solves a 2D non-linear diffusion-type equation. Odyss\'ee
offers both the forward and the reverse differentiation modes, that produce the tangent and the
cotangent models, respectively. The two modes have been implemented on the sample application. A
comparison is made with a manually-produced differentiated code for this model (MD), obtained by
solving the adjoint equations associated with the model's discrete state equations. Following a
presentation of the methods and tools and of their relative advantages and drawbacks, the
performances of the codes produced by the manual and automatic methods are compared, in terms of
accuracy and of computing efficiency (CPU and memory needs). The perturbation method
(finite-difference approximation of derivatives) is also used as a reference. Based on the test of
Taylor, the accuracy of the two AD modes proves to be excellent and as high as machine precision
permits, a good indication of Odyss\'ee's capability to produce error-free codes. In
comparison, the manually-produced derivatives (MD) sometimes appear to be slightly biased, which is
likely due to the fact that a theoretical model (state equations) and a practical model (computer
program) do not exactly coincide, while the accuracy of the perturbation method is very uncertain.
The MD code largely outperforms all other methods in computing efficiency, a subject of current
research for the improvement of AD tools. Yet these tools can already be of considerable help for
the computer implementation of many numerical methods, avoiding the tedious task of hand-coding the
differentiation of complex algorithms.",
ad_area = "Geophysics",
ad_tools = "Odyssee"
}
| |
back
|
|