ad: Automatic Differentiation
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.
Numeric.AD.Mode.Forwardprovides basic forward-mode AD. It is good for computing simple derivatives.Numeric.AD.Mode.Reverseuses benign side-effects to compute reverse-mode AD. It is good for computing gradients in one pass.Numeric.AD.Mode.Sparsecomputes a sparse forward-mode AD tower. It is good for higher derivatives or large numbers of outputs.Numeric.AD.Mode.Towercomputes a dense forward-mode AD tower useful for higher derivatives of single input functions.Numeric.AD.Mode.Mixedcomputes using whichever mode or combination thereof is suitable to each individual combinator. This mode is the default, re-exported byNumeric.AD
While not every mode can provide all operations, the following basic operations are supported, modified as appropriate by the suffixes below:
gradcomputes the gradient (partial derivatives) of a function at a point.jacobiancomputes the Jacobian matrix of a function at a point.diffcomputes the derivative of a function at a point.ducomputes a directional derivative of a function at a point.hessiancomputes the Hessian matrix (matrix of second partial derivatives) of a function at a point.
The following suffixes alter the meanings of the functions above as follows:
'-- also return the answerWithlets the user supply a function to blend the input with the outputFis a version of the base function lifted to return aTraversable(orFunctor) resultsmeans the function returns all higher derivatives in a list or f-branchingStreamTmeans the result is transposed with respect to the traditional formulation.0means that the resulting derivative list is padded with 0s at the end.
Changes since 0.40.0
Fixed bug fix for
(/):: (Mode s, Fractional a) => AD s aImproved documentation
Regularized naming conventions
Exposed
Id, probe, and lower methods viaNumeric.AD.TypesRemoved monadic combinators
Retuned the
Mixedmode jacobian calculations to only require aFunctor-based result.Added unsafe variadic
vgrad,vgrad', andvgradscombinators
Downloads
- ad-0.44.4.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 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, 4.3.3, 4.3.4, 4.3.5, 4.3.6, 4.4, 4.4.1, 4.5, 4.5.1, 4.5.2, 4.5.3, 4.5.4, 4.5.5, 4.5.6 |
|---|---|
| Dependencies | array (>=0.2 && <0.4), base (>=4 && <5), containers (>=0.2 && <0.4), data-reify (>=0.5 && <0.6), template-haskell (>=2.4 && <2.5) [details] |
| License | BSD-3-Clause |
| Copyright | (c) Edward Kmett 2010, (c) Barak Pearlmutter and Jeffrey Mark Siskind 2008-2009 |
| Author | Edward Kmett |
| Maintainer | ekmett@gmail.com |
| Category | Math |
| Home page | http://patch-tag.com/r/ekmett/ad |
| Uploaded | by EdwardKmett at 2010-06-13T22:35:52Z |
| Distributions | LTSHaskell:4.5.6, NixOS:4.5.6, Stackage:4.5.6 |
| Reverse Dependencies | 25 direct, 30 indirect [details] |
| Downloads | 86809 total (240 in the last 30 days) |
| Rating | 2.5 (votes: 4) [estimated by Bayesian average] |
| Your Rating | |
| Status | Docs uploaded by user Build status unknown [no reports yet] |