dvda: Efficient automatic differentiation
dvda == 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 safety 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 efficient 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
Modules
- Dvda
- Dvda.BinUn
- Dvda.CallNative
- Dvda.Codegen
- Dvda.Config
- Dvda.Dual
- Dvda.Examples
- Dvda.Expr
- Dvda.Graph
- MultipleShooting
- Dvda.MultipleShooting.MSCoctave
- Dvda.MultipleShooting.MSMonad
- Dvda.MultipleShooting.MultipleShooting
- Dvda.MultipleShooting.Types
- Dvda.OctaveSyntax
- Dvda.SparseLA
- Dvda.SymMonad
Flags
Automatic Flags
Name | Description | Default |
---|---|---|
stresstest | Build a profilable hard executable | Disabled |
test | Build test program. | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- dvda-0.2.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.1, 0.1.1, 0.2.0, 0.2.1, 0.2.2, 0.3, 0.3.0.1, 0.3.1, 0.3.2, 0.3.2.1, 0.4 |
---|---|
Dependencies | base (>=4 && <5), containers (>=0.4 && <0.5), directory (>=1.1 && <1.2), fgl (>=5.4 && <5.5), graphviz (>=2999.12 && <2999.13), hashable (>=1.1 && <1.2), hmatrix (>=0.14 && <0.15), mtl (>=2.0 && <2.1), repa (>=3.2 && <3.3), unordered-containers (>=0.2 && <0.3) [details] |
License | BSD-3-Clause |
Author | Greg Horn |
Maintainer | gregmainland@gmail.edu |
Category | Numerical, Math |
Source repo | head: git clone git://github.com/ghorn/dvda.git |
Uploaded | by GregHorn at 2012-07-15T12:12:33Z |
Distributions | |
Reverse Dependencies | 1 direct, 0 indirect [details] |
Downloads | 8185 total (11 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs not available [build log] All reported builds failed as of 2016-12-24 [all 6 reports] |