English
Related papers

Related papers: Efficient Implementation of a Higher-Order Languag…

200 papers

Automatic differentiation (AD) is an ensemble of techniques that allow to evaluate accurate numerical derivatives of a mathematical function expressed in a computer programming language. In this paper we use AD for stating and solving solid…

Numerical Analysis · Mathematics 2020-01-22 Andrea Vigliotti , Ferdinando Auricchio

We show how to define forward- and reverse-mode automatic differentiation source-code transformations or on a standard higher-order functional language. The transformations generate purely functional code, and they are principled in the…

Programming Languages · Computer Science 2021-01-25 Matthijs Vákár

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

Automatic differentiation (AD) aims to compute derivatives of user-defined functions, but in Turing-complete languages, this simple specification does not fully capture AD's behavior: AD sometimes disagrees with the true derivative of a…

Programming Languages · Computer Science 2021-12-07 Alexander K. Lew , Mathieu Huot , Vikash K. Mansinghka

As the demand for computational power grows, optimizing code through compilers becomes increasingly crucial. In this context, we focus on fully automatic code optimization techniques that automate the process of selecting and applying code…

Programming Languages · Computer Science 2025-11-11 Yacine Hakimi , Riyadh Baghdadi

Simulation-based optimization using agent-based models is typically carried out under the assumption that the gradient describing the sensitivity of the simulation output to the input cannot be evaluated directly. To still apply…

Machine Learning · Computer Science 2021-03-24 Philipp Andelfinger

Operator overloading algorithmic differentiation (AD) tools are usually only developed for floating-point values. Algorithmic optimization for, e.g., linear systems solvers or matrix-matrix multiplications are often introduced via external…

Mathematical Software · Computer Science 2025-08-08 Max Sagebaum , Nicolas R. Gauger

Deep learning has seen tremendous success over the past decade in computer vision, machine translation, and gameplay. This success rests in crucial ways on gradient-descent optimization and the ability to learn parameters of a neural…

Machine Learning · Computer Science 2019-08-30 Fei Wang , Daniel Zheng , James Decker , Xilun Wu , Grégory M. Essertel , Tiark Rompf

We present semantic correctness proofs of forward-mode Automatic Differentiation (AD) for languages with sources of partiality such as partial operations, lazy conditionals on real parameters, iteration, and term and type recursion. We…

Programming Languages · Computer Science 2024-05-28 Matthijs Vákár

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

Automatic differentiation (AD) is a set of techniques that systematically applies the chain rule to compute the gradients of functions without requiring human intervention. Although the fundamentals of this technology were established…

Machine Learning · Computer Science 2025-09-03 Afif Boudaoud , Alexandru Calotoiu , Marcin Copik , Torsten Hoefler

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

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

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

Reverse-mode automatic differentiation (AD) suffers from the issue of having too much space overhead to trace back intermediate computational states for back-propagation. The traditional method to trace back states is called checkpointing…

Programming Languages · Computer Science 2021-02-02 Jin-Guo Liu , Taine Zhao

Algorithmic differentiation (AD) is a set of techniques that provide partial derivatives of computer-implemented functions. Such a function can be supplied to state-of-the-art AD tools via its source code, or via an intermediate…

Mathematical Software · Computer Science 2023-07-10 Max Aehle , Johannes Blühdorn , Max Sagebaum , Nicolas R. Gauger

No single Automatic Differentiation (AD) system is the optimal choice for all problems. This means informed selection of an AD system and combinations can be a problem-specific variable that can greatly impact performance. In the Julia…

Mathematical Software · Computer Science 2022-02-08 Frank Schäfer , Mohamed Tarek , Lyndon White , Chris Rackauckas

Deep neural networks for natural language processing tasks are vulnerable to adversarial input perturbations. In this paper, we present a versatile language for programmatically specifying string transformations -- e.g., insertions,…

Machine Learning · Computer Science 2020-09-03 Yuhao Zhang , Aws Albarghouthi , Loris D'Antoni

Predictive models are fundamental to engineering reliable software systems. However, designing conservative, computable approximations for the behavior of programs (static analyses) remains a difficult and error-prone process for modern…

Programming Languages · Computer Science 2011-05-10 David Van Horn , Matthew Might

The Rust programming language is an attractive choice for robotics and related fields, offering highly efficient and memory-safe code. However, a key limitation preventing its broader adoption in these domains is the lack of high-quality,…

Robotics · Computer Science 2025-04-23 Chen Liang , Qian Wang , Andy Xu , Daniel Rakita