(index ("derivative-R" 0) ("derivative-F" 0) ("gradient-R" 299) ("gradient-F" 299) ("lift-real->real" 594) ("lift-real*real->real" 594))
(def (sig (procedure "(derivative-R f)" (id derivative-R)) (procedure "(derivative-F f)" (id derivative-F))) (p "These take a function " (i "f") " from a real number to a real number and produce a function which returns the derivative of " (i "f") ". Both forward and reverse mode are supported."))
(def (sig (procedure "(gradient-R f)" (id gradient-R)) (procedure "(gradient-F f)" (id gradient-F))) (p "As above but these take functions that accept a vector of reals and return a real number.  This will produce a vector of partial derivatives. Both forward and reverse mode are supported."))
(def (sig (procedure "(lift-real->real f df/dx x)" (id lift-real->real)) (procedure "(lift-real*real->real f df/dx1 df/dx2 x1 x2)" (id lift-real*real->real))) (p "These are useful if you want to lift your own functions. They take the original function, functions that produce partial derivatives and values for each of the arguments of the original function."))
