The dvda package

[Tags:bsd3, deprecated, library, test]
Deprecated. in favor of dynobud

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.

Matrix/vector/scalar 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") ":/usr/local/bin"))` to your .emacs file

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

Properties

Versions 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.*), containers (==0.4.*), deepseq (==1.3.*), directory (==1.1.*), fgl (==5.4.*), graphviz (==2999.12.*), hashable (==1.1.*), mtl (==2.0.*), plugins (==1.5.*), process (==1.1.*), repa (==3.1.*), text (==0.11.*), transformers (==0.2.*), unordered-containers (==0.2.*), vector (==0.9.*) [details]
License BSD3
Author Greg Horn
Maintainer gregmainland@gmail.edu
Stability Experimental
Category Math
Source repository head: git clone git://github.com/ghorn/dvda.git
Uploaded Sun May 27 04:45:00 UTC 2012 by GregHorn
Distributions NixOS:0.4
Downloads 2125 total (19 in the last 30 days)
Votes
0 []
Status Docs not available [build log]
All reported builds failed as of 2015-11-17 [all 4 reports]

Modules

  • Dvda
    • Dvda.BinUn
    • Dvda.Config
    • Dvda.Dot
    • Dvda.Dual
    • Dvda.Examples
    • Dvda.Expr
    • Dvda.GExpr
    • Dvda.Graph
    • Dvda.HSBuilder
    • Dvda.HSSyntax
    • Dvda.HomoDim
    • Dvda.SymMonad

Flags

NameDescriptionDefaultType
stresstestBuild a profilable hard executableDisabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

For package maintainers and hackage trustees