# Project : tropics

## Section: New Results

Keywords : discontinuities, validity of derivatives.

### Automatic estimation of the validity domain of derivatives

Participants : Mauricio Araya-Polo, Laurent Hascoët.

This is the principal topic of the PhD research of Mauricio Araya-Polo.
The program generated by AD always returns derivatives, even if the mathematical function
computed by the program is discontinuous or non differentiable at the current point.
Discontinuities can also be introduced by the translation from the math equations to
the computer program. In fact, most computer programs are only *piecewise*
differentiable. When the current program execution comes very ``close'' to a discontinuity,
then the derivatives may be invalid. Following these derivatives, for example
in an optimization process, may go across a discontinuity and thus can actually degrade
the solution.

Automatic resolution of this discontinuity problem is probably out of reach. However this problem hampers the confidence that users can put into AD. We think it is desirable to design differentiation modes which, if they don't solve the discontinuity problem, at least can warn the end-user when such a discontinuity is coming close. Therefore we want to design a differentiation mode which estimates the size of the neighborhood around the current values, inside which the flow of control doesn't change.

This year, Mauricio Araya-Polo studied different approaches from the point of view of complexity. It appears that the most reasonable aproach is a directional estimation, i.e. an estimation of the intersection of the validity neighborhood along the current direction of tangent differentiation. A more complete estimation can be achieved by repeating the analysis for each direction in the Cartesian basis of the input space.

We made an experimental implementation of this approach. The resulting code is not significantly more expensive than the standard tangent mode. On some examples taken from our validation set of applications, it actually detected discontinuitiesthat are very close to places where our end-users found optimization difficult. Therefore we feel confident that this analysis can be a valuable help to users.