name: ad version: 4.2 x-revision: 1 license: BSD3 license-File: LICENSE copyright: (c) Edward Kmett 2010-2014, (c) Barak Pearlmutter and Jeffrey Mark Siskind 2008-2009 author: Edward Kmett maintainer: ekmett@gmail.com stability: Experimental category: Math homepage: http://github.com/ekmett/ad bug-reports: http://github.com/ekmett/ad/issues build-type: Custom cabal-version: >= 1.10 extra-source-files: .ghci .gitignore .travis.yml .vim.custom TODO CHANGELOG.markdown README.markdown travis/cabal-apt-install travis/config include/instances.h synopsis: Automatic Differentiation description: 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.Forward@ provides basic forward-mode AD. It is good for computing simple derivatives. . * @Numeric.AD.Mode.Reverse@ uses benign side-effects to compute reverse-mode AD. It is good for computing gradients in one pass. It generates a Wengert list (linear tape) using @Data.Reflection@. . * @Numeric.AD.Mode.Kahn@ uses benign side-effects to compute reverse-mode AD. It is good for computing gradients in one pass. It generates a tree-like tape that needs to be topologically sorted in the end. . * @Numeric.AD.Mode.Sparse@ computes a sparse forward-mode AD tower. It is good for higher derivatives or large numbers of outputs. . * @Numeric.AD.Mode.Tower@ computes a dense forward-mode AD tower useful for higher derivatives of single input functions. . * @Numeric.AD@ computes using whichever mode or combination thereof is suitable to each individual combinator. . While not every mode can provide all operations, the following basic operations are supported, modified as appropriate by the suffixes below: . * 'grad' computes the gradient (partial derivatives) of a function at a point. . * 'jacobian' computes the Jacobian matrix of a function at a point. . * 'diff' computes the derivative of a function at a point. . * 'du' computes a directional derivative of a function at a point. . * 'hessian' computes 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 answer . * @With@ lets the user supply a function to blend the input with the output . * @F@ is a version of the base function lifted to return a 'Traversable' (or 'Functor') result . * @s@ means the function returns all higher derivatives in a list or f-branching 'Stream' . * @T@ means the result is transposed with respect to the traditional formulation. . * @0@ means that the resulting derivative list is padded with 0s at the end. flag lib-Werror default: False manual: True source-repository head type: git location: git://github.com/ekmett/ad.git library -- package version broken due to missing file in source tarball build-depends: base<0 default-extensions: CPP hs-source-dirs: src include-dirs: include default-language: Haskell2010 other-extensions: BangPatterns DeriveDataTypeable FlexibleContexts FlexibleInstances FunctionalDependencies GeneralizedNewtypeDeriving MultiParamTypeClasses PatternGuards Rank2Types ScopedTypeVariables TemplateHaskell TypeFamilies TypeOperators UndecidableInstances build-depends: array >= 0.2 && < 0.6, base >= 4.5 && < 5, comonad >= 4 && < 5, containers >= 0.2 && < 0.6, data-reify >= 0.6 && < 0.7, erf >= 2.0 && < 2.1, free >= 4.6.1 && < 5, mtl >= 2 && < 2.2, nats >= 0.1.2 && < 1, reflection >= 1.4 && < 2, tagged >= 0.7 && < 1, template-haskell, transformers >= 0.3 && < 0.4 exposed-modules: Numeric.AD Numeric.AD.Halley Numeric.AD.Internal.Dense Numeric.AD.Internal.Forward Numeric.AD.Internal.Forward.Double Numeric.AD.Internal.Identity Numeric.AD.Internal.Kahn Numeric.AD.Internal.On Numeric.AD.Internal.Or Numeric.AD.Internal.Reverse Numeric.AD.Internal.Sparse Numeric.AD.Internal.Tower Numeric.AD.Internal.Type Numeric.AD.Jacobian Numeric.AD.Jet Numeric.AD.Mode Numeric.AD.Mode.Forward Numeric.AD.Mode.Forward.Double Numeric.AD.Mode.Kahn Numeric.AD.Mode.Reverse Numeric.AD.Mode.Sparse Numeric.AD.Mode.Tower Numeric.AD.Newton Numeric.AD.Rank1.Forward Numeric.AD.Rank1.Forward.Double Numeric.AD.Rank1.Sparse Numeric.AD.Rank1.Tower Numeric.AD.Rank1.Kahn Numeric.AD.Rank1.Newton other-modules: Numeric.AD.Internal.Combinators if flag(lib-Werror) ghc-options: -Werror else ghc-options: -Wall ghc-options: -fspec-constr -fdicts-cheap -O2 -- Verify the results of the examples test-suite doctests default-language: Haskell2010 type: exitcode-stdio-1.0 main-is: doctests.hs build-depends: base, directory, doctest >= 0.9.0.1 && <= 0.10, filepath, mtl ghc-options: -Wall -threaded if impl(ghc<7.6) ghc-options: -Werror hs-source-dirs: tests benchmark blackscholes default-language: Haskell2010 type: exitcode-stdio-1.0 main-is: BlackScholes.hs hs-source-dirs: bench build-depends: base, ad, erf, criterion ghc-options: -fspec-constr -fdicts-cheap -O2