packages feed

dvda-0.1: dvda.cabal

Name:                dvda
Version:             0.1
License:             BSD3
License-file:        LICENSE
Author:              Greg Horn
Maintainer:          gregmainland@gmail.edu
Stability:           Experimental
Category:            Math
Build-type:          Simple
Synopsis:            Efficient automatic differentiation
Cabal-version:       >= 1.6
Description: {
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
}

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.Config
                     Dvda.Dot
                     Dvda.Dual
                     Dvda.Examples
                     Dvda.Expr
                     Dvda.GExpr
                     Dvda.Graph
                     Dvda.HSBuilder
                     Dvda.HSSyntax
                     Dvda.HomoDim
                     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,
                     vector  >= 0.9 && < 0.10,
                     repa  >= 3.1 && < 3.2,
                     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,
                     transformers >= 0.2 && < 0.3,
                     plugins >= 1.5 && < 1.6,
                     deepseq >= 1.3 && < 1.4
--                     unix
--                     text,
--                     QuickCheck,

  Ghc-options:       -Wall
--  Ghc-options:       -O2 -Wall -threaded
  GHC-Prof-Options: -prof -fprof-auto


-- Executable stressTest
--   if flag(stressTest)
--      Buildable: True
--   else
--      Buildable: False
-- 
--   Main-Is:           StressTest.hs
-- 
--   Ghc-Options: -O2
-- 
--   GHC-Prof-Options: -prof -fprof-auto