@hackage dvda0.1
Efficient automatic differentiation
Categories
License
BSD-3-Clause
Maintainer
gregmainland@gmail.edu
Links
Versions
Deprecated
Dependencies (15)
Dependents (1)
@hackage/acme-everything
Package Flags
stresstest
(off by default)
Build a profilable hard executable
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