The ad package

[Tags:bsd3, library]

Forward-, reverse- and mixed- mode automatic differentiation combinators with a common API.

Type-level "branding" is used to both prevent the end user from confusing infinitesimals and to limit unsafe access to the implementation details of each Mode.

Each mode has a separate module full of combinators.

While not every mode can provide all operations, the following basic operations are supported, modified as appropriate by the suffixes below:

The following suffixes alter the meanings of the functions above as follows:

Changes since 1.0.0

Changes since 0.45.0

Changes since 0.44.5

Changes since 0.40.0

Properties

Versions 0.12, 0.13, 0.15, 0.17, 0.18, 0.19, 0.20, 0.21, 0.22, 0.23, 0.24, 0.27, 0.28, 0.30.0, 0.31.0, 0.32.0, 0.33.0, 0.40, 0.40.1, 0.44.0, 0.44.1, 0.44.2, 0.44.3, 0.44.4, 0.45.0, 0.46.0, 0.46.1, 0.46.2, 0.47.0, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.6, 1.1.0, 1.1.0.1, 1.1.1, 1.1.3, 1.2.0, 1.2.0.1, 1.2.0.2, 1.3, 1.3.0.1, 1.3.1, 1.4, 1.5, 1.5.0.1, 1.5.0.2, 3.0, 3.0.1, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.2, 3.2.1, 3.2.2, 3.3.0.1, 3.3.1, 3.3.1.1, 3.4, 4.0, 4.0.0.1, 4.1, 4.2, 4.2.0.1, 4.2.1, 4.2.1.1, 4.2.2, 4.2.3, 4.2.4, 4.3, 4.3.1, 4.3.2, 4.3.2.1
Dependencies array (>=0.2 && <0.4), base (==4.*), comonad (==1.1.*), containers (>=0.2 && <0.5), data-reify (==0.6.*), streams (==0.7.*), template-haskell (>=2.4 && <2.6) [details]
License BSD3
Copyright (c) Edward Kmett 2010-2011, (c) Barak Pearlmutter and Jeffrey Mark Siskind 2008-2009
Author Edward Kmett
Maintainer ekmett@gmail.com
Stability Experimental
Category Math
Home page http://github.com/ekmett/ad
Source repository head: git clone git://github.com/ekmett/ad.git
Uploaded Mon May 9 00:45:52 UTC 2011 by EdwardKmett
Distributions LTSHaskell:4.3.2.1, NixOS:4.3.2.1, Stackage:4.3.2.1, Tumbleweed:4.3.2.1
Downloads 17817 total (277 in the last 30 days)
Votes
2 []
Status Docs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Flags

NameDescriptionDefaultType
templatehaskell24DisabledAutomatic

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