úÎ,S)è      GHC only  experimentalekmett@gmail.com-The N function injects a primal number into the RAD data type with a 0 derivative. 1 If reverse-mode AD numbers formed a monad, then  would be .  !"#$%&'()*The / function calculates the first derivative of a  scalar-to-scalar function. The - function calculates the first derivative of  scalar-to-nonscalar function. +,The 4 function calculates the value and derivative, as a ' pair, of a scalar-to-scalar function. \Note that the signature differs from that used in Numeric.FAD, because while you can always  -7 an arbitrary functor, not all functors can be zipped. The  function is a synonym for . The  function is a synonym for .  The  ' function calcualtes the Jacobian of a E nonscalar-to-nonscalar function, using m invocations of reverse AD, I where m is the output dimensionality. When the output dimensionality is D significantly greater than the input dimensionality you should use Numeric.FAD.jacobian instead. The  ; function calcualtes both the result and the Jacobian of a E nonscalar-to-nonscalar function, using m invocations of reverse AD, ( where m is the output dimensionality.  'fmap snd'* on the result will recover the result of   The  2 function finds a zero of a scalar function using  Newton':s method; its output is a stream of increasingly accurate ' results. (Modulo the usual caveats.)  TEST CASE:  take 10 $ zeroNewton (\x->x^2-4) 1 -- converge to 2.0  TEST CASE # :module Data.Complex Numeric.RAD  Btake 10 $ zeroNewton ((+1).(^2)) (1 :+ 1) -- converge to (0 :+ 1) The  * function inverts a scalar function using  Newton':s method; its output is a stream of increasingly accurate ' results. (Modulo the usual caveats.)  TEST CASE:  ;take 10 $ inverseNewton sqrt 1 (sqrt 10) -- converge to 10 The ( function find a fixedpoint of a scalar  function using Newton'$s method; its output is a stream of = increasingly accurate results. (Modulo the usual caveats.) The ( function finds an extremum of a scalar  function using Newton',s method; produces a stream of increasingly 0 accurate results. (Modulo the usual caveats.) The " function performs a multivariate ? optimization, based on the naive-gradient-descent in the file   stalingrad/examples/ flow-tests/pre-saddle-1a.vlad from the > VLAD compiler Stalingrad sources. Its output is a stream of ? increasingly accurate results. (Modulo the usual caveats.)  This is O(n) faster than Numeric.FAD.argminNaiveGradient .    /      !"#$%&'()*+,-./012 rad-0.1.3 Numeric.RADRADliftdiffUUdiffUFdiff2UUdiff2UFdiffdiff2gradgrad2jacobian jacobian2 zeroNewton inverseNewtonfixedPointNewtonextremumNewtonargminNaiveGradientSrunSTapeUBVCbaseGHC.Basereturnprimalvaronunary_unarybinary_binarydisc1disc2disc3fromfromBybackproprunTapedd2bindunbindGHC.ListunziplowerFU