Portability | GHC only |
---|---|

Stability | experimental |

Maintainer | ekmett@gmail.com |

Safe Haskell | None |

# AD modes

class (Num t, Num (Scalar t)) => Mode t whereSource

isKnownConstant :: t -> BoolSource

allowed to return False for items with a zero derivative, but we'll give more NaNs than strictly necessary

isKnownZero :: t -> BoolSource

allowed to return False for zero, but we give more NaN's than strictly necessary then

Embed a constant

(*^) :: Scalar t -> t -> tSource

Scalar-vector multiplication

(^*) :: t -> Scalar t -> tSource

Vector-scalar multiplication

(^/) :: Fractional (Scalar t) => t -> Scalar t -> tSource

Scalar division

`zero`

=`lift`

0