Copyright | (c) Edward Kmett 2010-2014 |
---|---|
License | BSD3 |
Maintainer | ekmett@gmail.com |
Stability | experimental |
Portability | GHC only |
Safe Haskell | None |
Language | Haskell2010 |
Unsafe and often partial combinators intended for internal usage.
Handle with care.
- data Forward a
- primal :: Num a => Forward a -> a
- tangent :: Num a => Forward a -> a
- bundle :: a -> a -> Forward a
- unbundle :: Num a => Forward a -> (a, a)
- apply :: Num a => (Forward a -> b) -> a -> b
- bind :: (Traversable f, Num a) => (f (Forward a) -> b) -> f a -> f b
- bind' :: (Traversable f, Num a) => (f (Forward a) -> b) -> f a -> (b, f b)
- bindWith :: (Traversable f, Num a) => (a -> b -> c) -> (f (Forward a) -> b) -> f a -> f c
- bindWith' :: (Traversable f, Num a) => (a -> b -> c) -> (f (Forward a) -> b) -> f a -> (b, f c)
- transposeWith :: (Functor f, Foldable f, Traversable g) => (b -> f a -> c) -> f (g a) -> g b -> g c
Documentation
Forward
mode AD
(Num a, Bounded a) => Bounded (Forward a) | |
(Num a, Enum a) => Enum (Forward a) | |
(Num a, Eq a) => Eq (Forward a) | |
Floating a => Floating (Forward a) | |
Fractional a => Fractional (Forward a) | |
Data a => Data (Forward a) | |
Num a => Num (Forward a) | |
(Num a, Ord a) => Ord (Forward a) | |
Real a => Real (Forward a) | |
RealFloat a => RealFloat (Forward a) | |
RealFrac a => RealFrac (Forward a) | |
Show a => Show (Forward a) | |
Erf a => Erf (Forward a) | |
InvErf a => InvErf (Forward a) | |
Num a => Mode (Forward a) | |
Num a => Jacobian (Forward a) | |
Typeable (* -> *) Forward | |
type Scalar (Forward a) = a | |
type D (Forward a) = Id a |
bind :: (Traversable f, Num a) => (f (Forward a) -> b) -> f a -> f b Source
bind' :: (Traversable f, Num a) => (f (Forward a) -> b) -> f a -> (b, f b) Source
bindWith :: (Traversable f, Num a) => (a -> b -> c) -> (f (Forward a) -> b) -> f a -> f c Source
bindWith' :: (Traversable f, Num a) => (a -> b -> c) -> (f (Forward a) -> b) -> f a -> (b, f c) Source
transposeWith :: (Functor f, Foldable f, Traversable g) => (b -> f a -> c) -> f (g a) -> g b -> g c Source