JuliaAttic / ReverseDiffSource.jl

Reverse automated differentiation from source
MIT License
47 stars 12 forks source link

ReverseDiffSource.jl

Reverse automated differentiation from an expression or a function

Julia 0.3 Julia 0.4 Julia 0.5 master (on nightly + release) Coverage
ReverseDiffSource ReverseDiffSource ReverseDiffSource Build Status Coverage Status

This package provides a function rdiff() that generates valid Julia code for the calculation of derivatives up to any order for a user supplied expression or generic function. Install with Pkg.add("ReverseDiffSource"). Package documentation and examples can be found here.

This version of automated differentiation operates at the source level (provided either in an expression or a generic function) to output Julia code calculating the derivatives (in a expression or a function respectively). Compared to other automated differentiation methods it does not rely on method overloading or new types and should, in principle, produce fast code.

Usage examples: