English
Related papers

Related papers: The Stan Math Library: Reverse-Mode Automatic Diff…

200 papers

In this paper we present DYNAMIC, an open-source C++ library implementing dynamic compressed data structures for string manipulation. Our framework includes useful tools such as searchable partial sums, succinct/gap-encoded bitvectors, and…

Data Structures and Algorithms · Computer Science 2017-01-26 Nicola Prezza

Stan is an open-source probabilistic programing language, primarily designed to do Bayesian data analysis. Its main inference algorithm is an adaptive Hamiltonian Monte Carlo sampler, supported by state of the art gradient computation.…

Applications · Statistics 2022-03-29 Charles C. Margossian , Yi Zhang , William R. Gillespie

We introduce OpenRAND, a C++17 library aimed at facilitating reproducible scientific research through the generation of statistically robust and yet replicable random numbers. OpenRAND accommodates single and multi-threaded applications on…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-11-01 Shihab Shahriar Khan , Bryce Palmer , Christopher Edelmaierd , Hasan Metin Aktulga

The application of operator overloading algorithmic differentiation (AD) to computer programs in order to compute the derivative is quite common. But, the replacement of the underlying computational floating point type with the specialized…

Mathematical Software · Computer Science 2026-02-18 Max Sagebaum , Nicolas R. Gauger

Fast numerical libraries have been a cornerstone of scientific computing for decades, but this comes at a price. Programs may be tied to vendor specific software ecosystems resulting in polluted, non-portable code. As we enter an era of…

Programming Languages · Computer Science 2019-10-10 Bruce Collie , Philip Ginsbach , Michael F. P. O'Boyle

The C++ Standard Template Library is the flagship example for libraries based on the generic programming paradigm. The usage of this library is intended to minimize the number of classical C/C++ errors, but does not warrant bug-free…

Programming Languages · Computer Science 2011-11-17 N. Pataki

We present a C++ header-only parallel sparse matrix library, based on sparse quadtree representation of matrices using the Chunks and Tasks programming model. The library implements a number of sparse matrix algorithms for distributed…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-11-25 Emanuel H. Rubensson , Elias Rudberg , Anastasia Kruchinina , Anton G. Artemov

Variational inference is a scalable technique for approximate Bayesian inference. Deriving variational inference algorithms requires tedious model-specific calculations; this makes it difficult to automate. We propose an automatic…

Machine Learning · Statistics 2015-06-15 Alp Kucukelbir , Rajesh Ranganath , Andrew Gelman , David M. Blei

This paper introduces the first, open source software library for Constraint Consistent Learning (CCL). It implements a family of data-driven methods that are capable of (i) learning state-independent and -dependent constraints, (ii)…

Robotics · Computer Science 2020-02-19 Yuchen Zhao , Jeevan Manavalan , Prabhakar Ray , Hsiu-Chin Lin , Matthew Howard

BayesOpt is a library with state-of-the-art Bayesian optimization methods to solve nonlinear optimization, stochastic bandits or sequential experimental design problems. Bayesian optimization is sample efficient by building a posterior…

Machine Learning · Computer Science 2014-05-30 Ruben Martinez-Cantin

Automatic differentiation, also known as backpropagation, AD, autodiff, or algorithmic differentiation, is a popular technique for computing derivatives of computer programs accurately and efficiently. Sometimes, however, the derivatives…

Numerical Analysis · Mathematics 2023-05-15 Jan Hückelheim , Harshitha Menon , William Moses , Bruce Christianson , Paul Hovland , Laurent Hascoët

Representing scientific data sets efficiently on external storage usually involves converting them to a byte string representation using specialized reader/writer routines. The resulting storage files are frequently difficult to interpret…

Computational Engineering, Finance, and Science · Computer Science 2007-05-23 Christoph Best

Expression templates are a well-known set of techniques for improving the efficiency of operator overloading-based forward mode automatic differentiation schemes in the C++ programming language by translating the differentiation from…

Mathematical Software · Computer Science 2012-05-21 Eric Phipps , Roger Pawlowski

Linear algebra is a major field of numerical computation and is widely applied. Most linear algebra libraries (in most programming languages) do not statically guarantee consistency of the dimensions of vectors and matrices, causing runtime…

Programming Languages · Computer Science 2015-12-08 Akinori Abe , Eijiro Sumii

This paper presents our work toward correct and efficient automatic differentiation of OpenMP parallel worksharing loops in forward and reverse mode. Automatic differentiation is a method to obtain gradients of numerical programs, which are…

Mathematical Software · Computer Science 2021-11-04 Jan Hückelheim , Laurent Hascoët

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

Non-volatile random access memory (NVRAM) offers byte-addressable persistence at speeds comparable to DRAM. However, with caches remaining volatile, automatic cache evictions can reorder updates to memory, potentially leaving persistent…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-08-20 Yuanhao Wei , Naama Ben-David , Michal Friedman , Guy E. Blelloch , Erez Petrank

Vector operations play an important role in high performance computing and are typically provided by highly optimized libraries that implement the BLAS (Basic Linear Algebra Subprograms) interface. In C++ templates and operator overloading…

Mathematical Software · Computer Science 2011-09-07 J. Progsch , Y. Ineichen , A. Adelmann

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

LIBS2ML is a library based on scalable second order learning algorithms for solving large-scale problems, i.e., big data problems in machine learning. LIBS2ML has been developed using MEX files, i.e., C++ with MATLAB/Octave interface to…

Machine Learning · Computer Science 2021-11-16 Vinod Kumar Chauhan , Anuj Sharma , Kalpana Dahiya