Contributor
Changcheng Li

Automatic Differentiation in R through Julia


Mentors
nashjc, Hans W. Borchers
Organization
R project for statistical computing

Automatic differentiation (AD) is a set of techniques to calculate derivatives automatically. It generally outperforms non-AD methods like symbolic differentiation and numerical approximation in speed or/and accuracy. It has important applications in many fields, like optimization, machine learning, Bayesian statistics and differential equations. Julia is a high-level, high-performance dynamic programming language for numerical computing. While there is a lack of automatic differentiation package in R, Julia has mature automatic differentiation packages, like ForwardDiff.jl for forward mode AD and ReverseDiff.jl for reverse mode AD. The aim of this project is to develop an R wrapper for the Julia AD packages ForwardDiff.jl and ReverseDiff.jl by the use of R packages JuliaCall. It should be able to do both forward mode and backward mode AD for native R functions and some of Rcpp functions.