DiffRules.jl
DiffRules.jl copied to clipboard
A simple shared suite of common derivative definitions
When a complex function of a complex variable is differentiable, `@define_diffrule` can be replaced with `@define_complex_diffrule`. Then both `diffrule` and `complex_diffrule` will exist.
> Note that differentiation rules are purely symbolic, so no type annotations should be used. should some of the differentiation rules like (+)(a,b) -> (1, 1) use the one(a), function...
(continued from https://github.com/invenia/Nabla.jl/issues/81, cc @willtebbutt) > This means that we would need a slightly more general interface for linear algebra, and would certainly require different forward- and reverse- mode expressions,...
This package defines rules for functions from LogExpFunctions, NaNMath, and SpecialFunctions packages, in addition to Base. Looking at https://github.com/JuliaDiff/DiffRules.jl/blob/master/src/rules.jl, their rules are pretty self-contained (*) and can easily be turned...