Copyright | (c) Edward Kmett 2010-2015 |
---|---|

License | BSD3 |

Maintainer | ekmett@gmail.com |

Stability | experimental |

Portability | GHC only |

Safe Haskell | None |

Language | Haskell2010 |

- newtype Tower a = Tower {
- getTower :: [a]

- zeroPad :: Num a => [a] -> [a]
- zeroPadF :: (Functor f, Num a) => [f a] -> [f a]
- transposePadF :: (Foldable f, Functor f) => a -> f [a] -> [f a]
- d :: Num a => [a] -> a
- d' :: Num a => [a] -> (a, a)
- withD :: (a, a) -> Tower a
- tangents :: Tower a -> Tower a
- bundle :: a -> Tower a -> Tower a
- apply :: Num a => (Tower a -> b) -> a -> b
- getADTower :: Tower a -> [a]
- tower :: [a] -> Tower a

# Documentation

`Tower`

is an AD `Mode`

that calculates a tangent tower by forward AD, and provides fast `diffsUU`

, `diffsUF`

(Num a, Bounded a) => Bounded (Tower a) | |

(Num a, Enum a) => Enum (Tower a) | |

(Num a, Eq a) => Eq (Tower a) | |

Floating a => Floating (Tower a) | |

Fractional a => Fractional (Tower a) | |

Data a => Data (Tower a) | |

Num a => Num (Tower a) | |

(Num a, Ord a) => Ord (Tower a) | |

Real a => Real (Tower a) | |

RealFloat a => RealFloat (Tower a) | |

RealFrac a => RealFrac (Tower a) | |

Show a => Show (Tower a) | |

Erf a => Erf (Tower a) | |

InvErf a => InvErf (Tower a) | |

Num a => Mode (Tower a) | |

Num a => Jacobian (Tower a) | |

Typeable (* -> *) Tower | |

type Scalar (Tower a) = a | |

type D (Tower a) = Tower a |

transposePadF :: (Foldable f, Functor f) => a -> f [a] -> [f a] Source

getADTower :: Tower a -> [a] Source