Automatic Differentiation Library Using Cling
by Violeta Ilieva for CERN SFT
Automatic differentiation has numerous scientific applications which can be accommodated by a specialized tool like the CERN ROOT. This proposal provides technical background and two suggested automatic differentiation implementation strategies - one relying on operator overloading (similar to ADOL-C) and the other involving source code transformation (mirroring Tapenade). The goal of the project is to extend the Cling functionality in order to make it possible for the tool to differentiate non-trivial functions and find partial derivatives for trivial cases. The final product will consist of C++ files, documentation, and test cases