Portability | GHC only |
---|---|
Stability | experimental |
Maintainer | ekmett@gmail.com |
Safe Haskell | None |
Higher order derivatives via a "dual number tower".
- data Tower a s
- taylor :: Fractional a => (forall s. Tower a s -> Tower a s) -> a -> a -> [a]
- taylor0 :: Fractional a => (forall s. Tower a s -> Tower a s) -> a -> a -> [a]
- maclaurin :: Fractional a => (forall s. Tower a s -> Tower a s) -> a -> [a]
- maclaurin0 :: Fractional a => (forall s. Tower a s -> Tower a s) -> a -> [a]
- diff :: Num a => (forall s. Tower a s -> Tower a s) -> a -> a
- diff' :: Num a => (forall s. Tower a s -> Tower a s) -> a -> (a, a)
- diffs :: Num a => (forall s. Tower a s -> Tower a s) -> a -> [a]
- diffs0 :: Num a => (forall s. Tower a s -> Tower a s) -> a -> [a]
- diffsF :: (Functor f, Num a) => (forall s. Tower a s -> f (Tower a s)) -> a -> f [a]
- diffs0F :: (Functor f, Num a) => (forall s. Tower a s -> f (Tower a s)) -> a -> f [a]
- du :: (Functor f, Num a) => (forall s. f (Tower a s) -> Tower a s) -> f (a, a) -> a
- du' :: (Functor f, Num a) => (forall s. f (Tower a s) -> Tower a s) -> f (a, a) -> (a, a)
- dus :: (Functor f, Num a) => (forall s. f (Tower a s) -> Tower a s) -> f [a] -> [a]
- dus0 :: (Functor f, Num a) => (forall s. f (Tower a s) -> Tower a s) -> f [a] -> [a]
- duF :: (Functor f, Functor g, Num a) => (forall s. f (Tower a s) -> g (Tower a s)) -> f (a, a) -> g a
- duF' :: (Functor f, Functor g, Num a) => (forall s. f (Tower a s) -> g (Tower a s)) -> f (a, a) -> g (a, a)
- dusF :: (Functor f, Functor g, Num a) => (forall s. f (Tower a s) -> g (Tower a s)) -> f [a] -> g [a]
- dus0F :: (Functor f, Functor g, Num a) => (forall s. f (Tower a s) -> g (Tower a s)) -> f [a] -> g [a]
Documentation
Tower
is an AD Mode
that calculates a tangent tower by forward AD, and provides fast diffsUU
, diffsUF
Typeable2 Tower | |
(Num a, Bounded a) => Bounded (Tower a s) | |
(Num a, Enum a) => Enum (Tower a s) | |
(Num a, Eq a) => Eq (Tower a s) | |
Floating a => Floating (Tower a s) | |
Fractional a => Fractional (Tower a s) | |
(Data a, Data s) => Data (Tower a s) | |
Num a => Num (Tower a s) | |
(Num a, Ord a) => Ord (Tower a s) | |
Real a => Real (Tower a s) | |
RealFloat a => RealFloat (Tower a s) | |
RealFrac a => RealFrac (Tower a s) | |
Show a => Show (Tower a s) | |
Erf a => Erf (Tower a s) | |
InvErf a => InvErf (Tower a s) | |
Num a => Mode (Tower a s) | |
Num a => Jacobian (Tower a s) |
Taylor Series
taylor :: Fractional a => (forall s. Tower a s -> Tower a s) -> a -> a -> [a]Source
taylor0 :: Fractional a => (forall s. Tower a s -> Tower a s) -> a -> a -> [a]Source
Maclaurin Series
maclaurin :: Fractional a => (forall s. Tower a s -> Tower a s) -> a -> [a]Source
maclaurin0 :: Fractional a => (forall s. Tower a s -> Tower a s) -> a -> [a]Source
Derivatives
Directional Derivatives
duF :: (Functor f, Functor g, Num a) => (forall s. f (Tower a s) -> g (Tower a s)) -> f (a, a) -> g aSource
duF' :: (Functor f, Functor g, Num a) => (forall s. f (Tower a s) -> g (Tower a s)) -> f (a, a) -> g (a, a)Source