English
Related papers

Related papers: AD-HOC: A C++ Expression Template package for high…

200 papers

In this paper we introduce DiffSharp, an automatic differentiation (AD) library designed with machine learning in mind. AD is a family of techniques that evaluate derivatives at machine precision with only a small constant factor of…

Mathematical Software · Computer Science 2015-11-30 Atilim Gunes Baydin , Barak A. Pearlmutter , Jeffrey Mark Siskind

Derivatives, mostly in the form of gradients and Hessians, are ubiquitous in machine learning. Automatic differentiation (AD), also called algorithmic differentiation or simply "autodiff", is a family of techniques similar to but more…

Symbolic Computation · Computer Science 2018-07-18 Atilim Gunes Baydin , Barak A. Pearlmutter , Alexey Andreyevich Radul , Jeffrey Mark Siskind

Building on the observation that reverse-mode automatic differentiation (AD) -- a generalisation of backpropagation -- can naturally be expressed as pullbacks of differential 1-forms, we design a simple higher-order programming language…

Programming Languages · Computer Science 2020-02-20 Carol Mak , Luke Ong

In scientific computation, it is often necessary to calculate higher-order derivatives of a function. Currently, two primary methods for higher-order automatic differentiation exist: symbolic differentiation and algorithmic automatic…

Computational Physics · Physics 2025-06-03 He Zhang

Automatic differentiation (AD) is a range of algorithms to compute the numeric value of a function's (partial) derivative, where the function is typically given as a computer program or abstract syntax tree. AD has become immensely popular…

Programming Languages · Computer Science 2023-05-16 Tom Schrijvers , Birthe van den Berg , Fabrizio Riguzzi

Forward Automatic Differentiation (AD) is a technique for augmenting programs to compute derivatives. The essence of Forward AD is to attach perturbations to each number, and propagate these through the computation. When derivatives are…

Symbolic Computation · Computer Science 2019-09-23 Oleksandr Manzyuk , Barak A. Pearlmutter , Alexey Andreyevich Radul , David R. Rush , Jeffrey Mark Siskind

ADC-connect (adcc) is a hybrid python/C++ module for performing excited state calculations based on the algebraic-diagrammatic construction scheme for the polarisation propagator (ADC). Key design goal is to restrict adcc to this single…

Computational Physics · Physics 2020-01-22 Michael F. Herbst , Maximilian Scheurer , Thomas Fransson , Dirk R. Rehn , Andreas Dreuw

Automatic Differentiation (AD) is instrumental for science and industry. It is a tool to evaluate the derivative of a function specified through a computer program. The range of AD application domain spans from Machine Learning to Robotics…

Mathematical Software · Computer Science 2023-03-01 Ioana Ifrim , Vassil Vassilev , David J Lange

Automatic differentiation (AD), a technique for constructing new programs which compute the derivative of an original program, has become ubiquitous throughout scientific computing and deep learning due to the improved performance afforded…

Machine Learning · Computer Science 2023-01-10 Gaurav Arya , Moritz Schauer , Frank Schäfer , Chris Rackauckas

Automatic differentiation (AD) in reverse mode (RAD) is a central component of deep learning and other uses of large-scale optimization. Commonly used RAD algorithms such as backpropagation, however, are complex and stateful, hindering deep…

Programming Languages · Computer Science 2018-10-03 Conal Elliott

Classical reverse-mode automatic differentiation (AD) imposes only a small constant-factor overhead in operation count over the original computation, but has storage requirements that grow, in the worst case, in proportion to the time…

Programming Languages · Computer Science 2018-07-18 Jeffrey Mark Siskind , Barak A. Pearlmutter

Backpropagation is a classic automatic differentiation algorithm computing the gradient of functions specified by a certain class of simple, first-order programs, called computational graphs. It is a fundamental tool in several fields, most…

Logic in Computer Science · Computer Science 2019-11-07 Alois Brunel , Damiano Mazza , Michele Pagani

We give a gentle introduction to using various software tools for automatic differentiation (AD). Ready-to-use examples are discussed, and links to further information are presented. Our target audience includes all those who are looking…

Mathematical Software · Computer Science 2007-05-23 Uwe Naumann , Andrea Walther

This article provides an overview of some of the mathematical principles of Automatic Differentiation (AD). In particular, we summarise different descriptions of the Forward Mode of AD, like the matrix-vector product based approach, the…

Numerical Analysis · Mathematics 2016-07-07 Philipp H. W. Hoffmann

Dual numbers are a well-established tool for computing derivatives and constitute the basis of forward-mode automatic differentiation. While the theoretical framework for computing derivatives of arbitrary order is well understood,…

Numerical Analysis · Mathematics 2026-02-06 F. Peñuñuri , K. B. Cantún-Avila , R. Peón-Escalante

Recent theoretical work on automatic differentiation (autodiff) has focused on characteristics such as correctness and efficiency while assuming that all derivatives are automatically generated by autodiff using program transformation, with…

Programming Languages · Computer Science 2024-08-15 Sam Estep

Tools for algorithmic differentiation (AD) provide accurate derivatives of computer-implemented functions for use in, e. g., optimization and machine learning (ML). However, they often require the source code of the function to be available…

Mathematical Software · Computer Science 2022-12-29 Max Aehle , Johannes Blühdorn , Max Sagebaum , Nicolas R. Gauger

ADF95 is a tool to automatically calculate numerical first derivatives for any mathematical expression as a function of user defined independent variables. Accuracy of derivatives is achieved within machine precision. ADF95 may be applied…

Mathematical Software · Computer Science 2007-05-23 Christian W. Straka

Automatic differentiation is everywhere, but there exists only minimal documentation of how it works in complex arithmetic beyond stating "derivatives in $\mathbb{C}^d$" $\cong$ "derivatives in $\mathbb{R}^{2d}$" and, at best, shallow…

Mathematical Software · Computer Science 2024-12-11 Nicholas Krämer

Automatic differentiation frameworks are optimized for exactly one thing: computing the average mini-batch gradient. Yet, other quantities such as the variance of the mini-batch gradients or many approximations to the Hessian can, in…

Machine Learning · Computer Science 2020-02-18 Felix Dangel , Frederik Kunstner , Philipp Hennig