Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
Automatic differentiation for Num
hierarchy.
Polymorphic functions of type such as Num a => a -> a
can't be differentiated directly, because backprop
needs some additional instances.
AsNum
wrapper provides those instances.
derivative :: (forall b. Floating b => b -> b) -> (forall a. Floating a => a -> a) derivative fun x0 = backpropNum (fun (var (AsNum x0)))
AsNum a
implements many instances in terms of Num a
instance.
Instances
numbvarValue :: NumBVar a -> a Source #
backpropNum :: forall a. Num a => NumBVar a -> a Source #