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.