DeepAI AI Chat
Log In Sign Up

Automatic Differentiation in ROOT

04/09/2020
by   Vassil Vassilev, et al.
0

In mathematics and computer algebra, automatic differentiation (AD) is a set of techniques to evaluate the derivative of a function specified by a computer program. AD exploits the fact that every computer program, no matter how complicated, executes a sequence of elementary arithmetic operations (addition, subtraction, multiplication, division, etc.), elementary functions (exp, log, sin, cos, etc.) and control flow statements. AD takes source code of a function as input and produces source code of the derived function. By applying the chain rule repeatedly to these operations, derivatives of arbitrary order can be computed automatically, accurately to working precision, and using at most a small constant factor more arithmetic operations than the original program. This paper presents AD techniques available in ROOT, supported by Cling, to produce derivatives of arbitrary C/C++ functions through implementing source code transformation and employing the chain rule of differential calculus in both forward mode and reverse mode. We explain its current integration for gradient computation in TFormula. We demonstrate the correctness and performance improvements in ROOT's fitting algorithms.

READ FULL TEXT

page 1

page 2

page 3

page 4

12/28/2022

Reverse-Mode Automatic Differentiation of Compiled Programs

Tools for algorithmic differentiation (AD) provide accurate derivatives ...
05/11/2023

Differentiable Programming: Efficient Smoothing of Control-Flow-Induced Discontinuities

We want to obtain derivatives in discontinuous program code, where defau...
11/24/2015

DiffSharp: Automatic Differentiation Library

In this paper we introduce DiffSharp, an automatic differentiation (AD) ...
03/11/2022

GPU Accelerated Automatic Differentiation With Clad

Automatic Differentiation (AD) is instrumental for science and industry....
09/05/2022

Forward-Mode Automatic Differentiation of Compiled Programs

Algorithmic differentiation (AD) is a set of techniques that provide par...
12/22/2022

Automatically Bounding the Taylor Remainder Series: Tighter Bounds and New Applications

We present a new algorithm for automatically bounding the Taylor remaind...
11/10/2016

Binomial Checkpointing for Arbitrary Programs with No User Annotation

Heretofore, automatic checkpointing at procedure-call boundaries, to red...