Double

Double-precision floating point numbers. It is desirable that this type be at least equal in range and precision to the IEEE double-precision type.
Double-precision floating point numbers. It is desirable that this type be at least equal in range and precision to the IEEE double-precision type.
Double                                   ~  Double
Mixed-Mode Automatic Differentiation, specialized to doubles. Each combinator exported from this module chooses an appropriate AD mode. 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 compute the Hessian matrix (matrix of second partial derivatives) of a function at a point
The suffixes have the following meanings:
  • ' -- 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.
Root finding using Halley's rational method (the second in the class of Householder methods). Assumes the function is three times continuously differentiable and converges cubically when progress can be made.
This module provides reverse-mode Automatic Differentiation implementation using linear time topological sorting after the fact. For this form of reverse-mode AD we use StableName to recover sharing information from the tape to avoid combinatorial explosion, and thus run asymptotically faster than it could without such sharing information, but the use of side-effects contained herein is benign.
Unsafe and often partial combinators intended for internal usage. Handle with care.
Forward Mode AD specialized to Double. This enables the entire structure to be unboxed.
This module provides reverse-mode Automatic Differentiation using post-hoc linear time topological sorting. For reverse mode AD we use StableName to recover sharing information from the tape to avoid combinatorial explosion, and thus run asymptotically faster than it could without such sharing information, but the use of side-effects contained herein is benign.
Reverse-mode automatic differentiation using Wengert lists and Data.Reflection This version is specialized to Double enabling the entire structure to be unboxed.
Higher order derivatives via a "dual number tower".
Higher order derivatives via a "dual number tower".