| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Downhill.BVar.Num
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 #