dvda-0.2.1: dvda.cabal
Name: dvda
Version: 0.2.1
License: BSD3
License-file: LICENSE
Author: Greg Horn
Maintainer: gregmainland@gmail.edu
Stability: Experimental
Category: Numerical, Math
Build-type: Custom
Synopsis: Efficient automatic differentiation
Cabal-version: >= 1.8
Description: {
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.
.
Matrix/vector/scalar 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") ":/usr/local/bin"))` to your .emacs file
.
To get started look in `Dvda.Examples` or CompileTest.hs in the github repo
}
source-repository head
type: git
location: git://github.com/ghorn/dvda.git
-- tag:
Flag stressTest
Description: Build a profilable hard executable
Default: False
Library
Exposed-modules: Dvda
Dvda.BinUn
Dvda.CallNative
Dvda.Codegen
Dvda.Config
-- Dvda.Dot
Dvda.Dual
Dvda.Examples
Dvda.Expr
Dvda.Graph
-- Dvda.HSBuilder
-- Dvda.HSSyntax
Dvda.MultipleShooting.MSCoctave
Dvda.MultipleShooting.MSMonad
Dvda.MultipleShooting.MultipleShooting
Dvda.MultipleShooting.Types
Dvda.OctaveSyntax
Dvda.SparseLA
Dvda.SymMonad
-- Dvda.CFunction
-- Dvda.Codegen.CBuilder
-- Dvda.Codegen.CCallWrapper
-- Dvda.Codegen.CSyntax
-- Dvda.Codegen.Utils
Other-modules:
Build-depends: base >= 4 && < 5,
hashable >= 1.1 && < 1.2,
repa >= 3.2 && < 3.3,
containers >= 0.4 && < 0.5,
unordered-containers >= 0.2 && < 0.3,
graphviz >= 2999.12 && < 2999.13,
fgl >= 5.4 && < 5.5,
mtl >= 2.0 && < 2.1,
directory >= 1.1 && < 1.2,
-- process >= 1.1 && < 1.2,
-- text >= 0.11 && < 0.12,
-- plugins >= 1.5 && < 1.6,
-- deepseq >= 1.3 && < 1.4,
hmatrix >= 0.14 && < 0.15
-- latc >= 0.1 && < 0.2
-- unix
-- text,
Ghc-options: -Wall
-- Ghc-options: -O2 -Wall -threaded
GHC-Prof-Options: -prof -fprof-auto
flag test
description: Build test program.
default: False
Test-suite test
type: exitcode-stdio-1.0
hs-source-dirs: test, .
main-is: Test.hs
build-depends: base,
QuickCheck == 2.4.*,
ad,
test-framework-quickcheck2,
test-framework
ghc-options: -Wall
-- Executable stressTest
-- if flag(stressTest)
-- Buildable: True
-- else
-- Buildable: False
--
-- Main-Is: StressTest.hs
--
-- Ghc-Options: -O2
--
-- GHC-Prof-Options: -prof -fprof-auto