@hackage / dvda

Efficient automatic differentiation and code generation

Version Deprecated package0.4

About

Metadata

  • Last updated , by GregHorn
  • License BSD-3-Clause
  • Categories Mathematics
  • Maintained by: gregmainland@gmail.edu

  • Lottery factor: 0

Links

Installation

This package has been deprecated in favour of

Package Flags

Use the -f option with cabal commands to enable flags

    stresstest (off by default)

    Build a profilable hard executable

    test (off by default)

    Build test program.

Readme

dvda == DVDA Verifiably Differentiates Algorithmically

This library provides a symbolic scalar type Dvda.Expr which is manipulated mathematically through its Num/Fractional/Floating instances.

Automatic differentiation can be performed with Dvda.AD. Expressions can be turned into computational graphs (FunGraphs) using toFunGraph. This uses unsafe reification for performance reasons, and explicit common subexpression elimination using hashing can be performed using Dvda.CSE

FunGraphs can be converted to C code and MATLAB mex functions. In the future there will be JIT compilation so you can call these functions efficiently from Haskell.

Pretty graphviz plots!

To get started check out the source for Dvda.Examples