@hackage dvda0.1

Efficient automatic differentiation

DVDA Verifiably Differentiates Algorithmically

This library provides a symbolic type Dvda.Expr which is manipulated mathematically through its Num/Fractional/Floating instances. Expr can be a scalar, vector, or matrix. Binary operations (adding/multiplying/etc) are all elementwise.

Matrixvectorscalar compatability is enforced at compile time

Efficient derivatives can be computed. Internally reverse automatic differentiation is performed including efficient common subexpression elimination.

Function graphs can be JIT compiled into efficienty functions using "buildHSFunction". This is the intended way to use this library.

Pretty graphviz plots!

If the runtime JIT stuff works in terminal ghci but not emacs haskell-mode, you may need to add `(setenv PATH (concatenate 'string (getenv PATH) ":usrlocal/bin"))` to your .emacs file

To get started look in Dvda.Examples or CompileTest.hs in the github repo