English
Related papers

Related papers: AbstractDifferentiation.jl: Backend-Agnostic Diffe…

200 papers

Differentiable programming is a fresh programming paradigm which composes parameterized algorithmic components and trains them using automatic differentiation (AD). The concept emerges from deep learning but is not only limited to training…

Strongly Correlated Electrons · Physics 2019-09-11 Hai-Jun Liao , Jin-Guo Liu , Lei Wang , Tao Xiang

We present DataDeps.jl: a julia package for the reproducible handling of static datasets to enhance the repeatability of scripts used in the data and computational sciences. It is used to automate the data setup part of running software…

Software Engineering · Computer Science 2018-08-06 Lyndon White , Roberto Togneri , Wei Liu , Mohammed Bennamoun

Derivatives play a critical role in computational statistics, examples being Bayesian inference using Hamiltonian Monte Carlo sampling and the training of neural networks. Automatic differentiation is a powerful tool to automate the…

Mathematical Software · Computer Science 2019-03-27 Charles C. Margossian

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

We present the software design of Gridap, a novel finite element library written exclusively in the Julia programming language, which is being used by several research groups world-wide to simulate complex physical phenomena such as…

Mathematical Software · Computer Science 2022-04-13 Francesc Verdugo , Santiago Badia

In this work we present useful techniques and possible enhancements when applying an Algorithmic Differentiation (AD) tool to the linear algebra library Eigen using our in-house AD by overloading (AD-O) tool dco/c++ as a case study. After…

Mathematical Software · Computer Science 2020-06-23 Patrick Peltzer , Johannes Lotz , Uwe Naumann

In this paper we present GridapTopOpt, an extendable framework for level set-based topology optimisation that can be readily distributed across a personal computer or high-performance computing cluster. The package is written in Julia and…

Mathematical Software · Computer Science 2026-01-26 Zachary J. Wegert , Jordi Manyer , Connor Mallon , Santiago Badia , Vivien J. Challis

Arrays are such a rich and fundamental data type that they tend to be built into a language, either in the compiler or in a large low-level library. Defining this functionality at the user level instead provides greater flexibility for…

Programming Languages · Computer Science 2014-07-16 Jeff Bezanson , Jiahao Chen , Stefan Karpinski , Viral Shah , Alan Edelman

Inverse design of complex flows is notoriously challenging because of the high cost of high dimensional optimization. Usually, optimization problems are either restricted to few control parameters, or adjoint-based approaches are used to…

Fluid Dynamics · Physics 2024-03-12 Mohammed Alhashim , Kaylie Hausknecht , Michael Brenner

In this article, we propose an interval constraint programming method for globally solving catalog-based categorical optimization problems. It supports catalogs of arbitrary size and properties of arbitrary dimension, and does not require…

Optimization and Control · Mathematics 2024-01-23 Charlie Vanaret

We present a Julia-based interface to the precompiled HALLaR and cuHALLaR binaries for large-scale semidefinite programs (SDPs). Both solvers are established as fast and numerically stable, and accept problem data in formats compatible with…

Optimization and Control · Mathematics 2025-08-25 Jacob Aguirre , Diego Cifuentes , Vincent Guigues , Renato D. C. Monteiro , Victor Hugo Nascimento , Arnesh Sujanani

We present the new software OpDiLib, a universal add-on for classical operator overloading AD tools that enables the automatic differentiation (AD) of OpenMP parallelized code. With it, we establish support for OpenMP features in a reverse…

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

The recent development on large language models makes automatically constructing small programs possible. It thus has the potential to free software engineers from low-level coding and allow us to focus on the perhaps more interesting parts…

Software Engineering · Computer Science 2024-01-03 Simiao Zhang , Jiaping Wang , Guoliang Dong , Jun Sun , Yueling Zhang , Geguang Pu

Artificial Intelligence (AI) applications in automation systems are usually distributed systems whose development and integration involve several experts. Each expert uses its own domain-specific modeling language and tools to model the…

Artificial Intelligence · Computer Science 2023-06-22 Marvin Schieseck , Philip Topalis , Alexander Fay

Derivative computation is a key component of optimization, sensitivity analysis, uncertainty quantification, and nonlinear solvers. Automatic differentiation (AD) is a powerful technique for evaluating such derivatives, and in recent years,…

Mathematical Software · Computer Science 2025-07-18 Kim Liegeois , Brian Kelley , Eric Phipps , Sivasankaran Rajamanickam , Vassil Vassilev

This year marks the consolidation of Julia (https://julialang.org/), a programming language designed for scientific computing, as the first stable version (1.0) has been released, in August 2018. Among its main features, expressiveness and…

Instrumentation and Methods for Astrophysics · Physics 2018-12-05 Maurizio Tomasi , Mosè Giordano

Pull-tabbing is an evaluation technique for functional logic programs which computes all non-deterministic results in a single graph structure. Pull-tab steps are local graph transformations to move non-deterministic choices towards the…

Programming Languages · Computer Science 2020-08-28 Michael Hanus , Finn Teegen

We extend JAX with the capability to automatically differentiate higher-order functions (functionals and operators). By representing functions as a generalization of arrays, we seamlessly use JAX's existing primitive system to implement…

Programming Languages · Computer Science 2024-01-30 Min Lin

Adaptive optics systems are usually prototyped in a convenient but slow language like MATLAB or Python, and then re-written from scratch using high-performance C/C++ to perform real-time control. This duplication of effort adds costs and…

Instrumentation and Methods for Astrophysics · Physics 2024-07-11 William Thompson , Darryl Gamroth , Christian Marois , Olivier Lardière

This paper describes a new modelling language for the effective design and validation of Java annotations. Since their inclusion in the 5th edition of Java, annotations have grown from a useful tool for the addition of meta-data to play a…

Programming Languages · Computer Science 2019-10-02 Irene Córdoba , Juan de Lara