Evaluating derivatives: principles and techniques of algorithmic differentiation
Evaluating derivatives: principles and techniques of algorithmic differentiation
Automatic differentiation of algorithms: from simulation to optimization
Automatic differentiation of algorithms: from simulation to optimization
Hi-index | 0.00 |
Automatic Differentiation (AD) tools assume differentiability of the function implemented by the given program. However, due to switches in the control flow, most programs are only piecewise differentiable. Thereby, sometimes the derivatives are wrong, unfortunately this fact is overlook by everyday use of AD. There exist extended models of AD that return useful generalized derivatives for some classes of piecewise differentiable functions, but there is little hope of doing so for all cases. In contrast, our goal is to evaluate, along with the derivative, the size of the differentiable neighborhood around the current input. This "safe neighborhood" is essential to use the derivatives consistently. We investigate several models to compute this neighborhood and study their complexity. We propose one model of acceptable cost. We present a first implementation and experiments made with our AD tool tapenade.