inf-backprop-0.2.0.0: Automatic differentiation and backpropagation.
Copyright(C) 2025 Alexey Tochin
LicenseBSD3 (see the file LICENSE)
MaintainerAlexey Tochin <Alexey.Tochin@gmail.com>
Safe HaskellNone
LanguageHaskell2010

Numeric.InfBackprop.Instances.NumHask

Description

Orphane instances for numhask typeclasses.

Orphan instances

Additive a => Additive (Stream a) Source #

Stream instances of Additive typeclass.

Instance details

Methods

(+) :: Stream a -> Stream a -> Stream a #

zero :: Stream a #

Additive a => Additive (Maybe a) Source #

Maybe instance of Additive.

Instance details

Methods

(+) :: Maybe a -> Maybe a -> Maybe a #

zero :: Maybe a #

Subtractive a => Subtractive (Stream a) Source #

Stream instances of Subtractive typeclass.

Instance details

Methods

negate :: Stream a -> Stream a #

(-) :: Stream a -> Stream a -> Stream a #

Subtractive a => Subtractive (Maybe a) Source #

Maybe instance of Subtractive.

Instance details

Methods

negate :: Maybe a -> Maybe a #

(-) :: Maybe a -> Maybe a -> Maybe a #

ExpField a => ExpField (Stream a) Source #

Stream instances of ExpField typeclass.

Instance details

Methods

exp :: Stream a -> Stream a #

log :: Stream a -> Stream a #

(**) :: Stream a -> Stream a -> Stream a #

logBase :: Stream a -> Stream a -> Stream a #

sqrt :: Stream a -> Stream a #

ExpField a => ExpField (Maybe a) Source #

Maybe instance of ExpField.

Instance details

Methods

exp :: Maybe a -> Maybe a #

log :: Maybe a -> Maybe a #

(**) :: Maybe a -> Maybe a -> Maybe a #

logBase :: Maybe a -> Maybe a -> Maybe a #

sqrt :: Maybe a -> Maybe a #

TrigField a => TrigField (Stream a) Source #

Stream instances of TrigField typeclass.

Instance details

Methods

pi :: Stream a #

sin :: Stream a -> Stream a #

cos :: Stream a -> Stream a #

tan :: Stream a -> Stream a #

asin :: Stream a -> Stream a #

acos :: Stream a -> Stream a #

atan :: Stream a -> Stream a #

atan2 :: Stream a -> Stream a -> Stream a #

sinh :: Stream a -> Stream a #

cosh :: Stream a -> Stream a #

tanh :: Stream a -> Stream a #

asinh :: Stream a -> Stream a #

acosh :: Stream a -> Stream a #

atanh :: Stream a -> Stream a #

TrigField a => TrigField (Maybe a) Source #

Maybe instance of TrigField.

Instance details

Methods

pi :: Maybe a #

sin :: Maybe a -> Maybe a #

cos :: Maybe a -> Maybe a #

tan :: Maybe a -> Maybe a #

asin :: Maybe a -> Maybe a #

acos :: Maybe a -> Maybe a #

atan :: Maybe a -> Maybe a #

atan2 :: Maybe a -> Maybe a -> Maybe a #

sinh :: Maybe a -> Maybe a #

cosh :: Maybe a -> Maybe a #

tanh :: Maybe a -> Maybe a #

asinh :: Maybe a -> Maybe a #

acosh :: Maybe a -> Maybe a #

atanh :: Maybe a -> Maybe a #

Divisive a => Divisive (Stream a) Source #

Stream instances of Divisive typeclass.

Instance details

Methods

recip :: Stream a -> Stream a #

(/) :: Stream a -> Stream a -> Stream a #

Divisive a => Divisive (Maybe a) Source #

Maybe instance of Divisive.

Instance details

Methods

recip :: Maybe a -> Maybe a #

(/) :: Maybe a -> Maybe a -> Maybe a #

Multiplicative a => Multiplicative (Stream a) Source #

Stream instances of Multiplicative typeclass.

Instance details

Methods

(*) :: Stream a -> Stream a -> Stream a #

one :: Stream a #

Multiplicative a => Multiplicative (Maybe a) Source #

Maybe instance of Multiplicative.

Instance details

Methods

(*) :: Maybe a -> Maybe a -> Maybe a #

one :: Maybe a #

(Additive a0, Additive a1) => Additive (a0, a1) Source #

Instances for NumHask classes for common data types. These instances follow the standard lifting of operations to container types.

Note: These are orphan instances. Consider proposing them upstream to numhask.

Tuple instance of Additive typecalss.

Instance details

Methods

(+) :: (a0, a1) -> (a0, a1) -> (a0, a1) #

zero :: (a0, a1) #

(Subtractive a0, Subtractive a1) => Subtractive (a0, a1) Source #

Tuple instance of Subtractive typeclass.

Instance details

Methods

negate :: (a0, a1) -> (a0, a1) #

(-) :: (a0, a1) -> (a0, a1) -> (a0, a1) #

(ExpField a, ExpField b) => ExpField (a, b) Source #

Tuple instance of ExpField typeclass.

Instance details

Methods

exp :: (a, b) -> (a, b) #

log :: (a, b) -> (a, b) #

(**) :: (a, b) -> (a, b) -> (a, b) #

logBase :: (a, b) -> (a, b) -> (a, b) #

sqrt :: (a, b) -> (a, b) #

(TrigField a, TrigField b) => TrigField (a, b) Source #

Tuple instance of TrigField typeclass.

Instance details

Methods

pi :: (a, b) #

sin :: (a, b) -> (a, b) #

cos :: (a, b) -> (a, b) #

tan :: (a, b) -> (a, b) #

asin :: (a, b) -> (a, b) #

acos :: (a, b) -> (a, b) #

atan :: (a, b) -> (a, b) #

atan2 :: (a, b) -> (a, b) -> (a, b) #

sinh :: (a, b) -> (a, b) #

cosh :: (a, b) -> (a, b) #

tanh :: (a, b) -> (a, b) #

asinh :: (a, b) -> (a, b) #

acosh :: (a, b) -> (a, b) #

atanh :: (a, b) -> (a, b) #

(Divisive a0, Divisive a1) => Divisive (a0, a1) Source #

Tuple instance of Divisive typeclass.

Instance details

Methods

recip :: (a0, a1) -> (a0, a1) #

(/) :: (a0, a1) -> (a0, a1) -> (a0, a1) #

(Multiplicative a0, Multiplicative a1) => Multiplicative (a0, a1) Source #

Tuple instance of Multiplicative typeclass.

Instance details

Methods

(*) :: (a0, a1) -> (a0, a1) -> (a0, a1) #

one :: (a0, a1) #

(KnownNat n, Additive a, Vector v a) => Additive (Vector v n a) Source #

Sized Vector instance of Additive typeclass.

Instance details

Methods

(+) :: Vector v n a -> Vector v n a -> Vector v n a #

zero :: Vector v n a #

(Additive a0, Additive a1, Additive a2) => Additive (a0, a1, a2) Source #

Triple instance of Additive.

Instance details

Methods

(+) :: (a0, a1, a2) -> (a0, a1, a2) -> (a0, a1, a2) #

zero :: (a0, a1, a2) #

(KnownNat n, Subtractive a, Vector v a) => Subtractive (Vector v n a) Source #

Sized Vector instance of Subtractive typeclass.

Instance details

Methods

negate :: Vector v n a -> Vector v n a #

(-) :: Vector v n a -> Vector v n a -> Vector v n a #

(Subtractive a0, Subtractive a1, Subtractive a2) => Subtractive (a0, a1, a2) Source #

Triple instance of Subtractive.

Instance details

Methods

negate :: (a0, a1, a2) -> (a0, a1, a2) #

(-) :: (a0, a1, a2) -> (a0, a1, a2) -> (a0, a1, a2) #

(KnownNat n, ExpField a, Vector v a) => ExpField (Vector v n a) Source #

Sized Vector instance of ExpField typeclass.

Instance details

Methods

exp :: Vector v n a -> Vector v n a #

log :: Vector v n a -> Vector v n a #

(**) :: Vector v n a -> Vector v n a -> Vector v n a #

logBase :: Vector v n a -> Vector v n a -> Vector v n a #

sqrt :: Vector v n a -> Vector v n a #

(ExpField a0, ExpField a1, ExpField a2) => ExpField (a0, a1, a2) Source #

Triple instance of ExpField.

Instance details

Methods

exp :: (a0, a1, a2) -> (a0, a1, a2) #

log :: (a0, a1, a2) -> (a0, a1, a2) #

(**) :: (a0, a1, a2) -> (a0, a1, a2) -> (a0, a1, a2) #

logBase :: (a0, a1, a2) -> (a0, a1, a2) -> (a0, a1, a2) #

sqrt :: (a0, a1, a2) -> (a0, a1, a2) #

(KnownNat n, TrigField a, Vector v a) => TrigField (Vector v n a) Source #

Sized Vector instance of TrigField typeclass.

Instance details

Methods

pi :: Vector v n a #

sin :: Vector v n a -> Vector v n a #

cos :: Vector v n a -> Vector v n a #

tan :: Vector v n a -> Vector v n a #

asin :: Vector v n a -> Vector v n a #

acos :: Vector v n a -> Vector v n a #

atan :: Vector v n a -> Vector v n a #

atan2 :: Vector v n a -> Vector v n a -> Vector v n a #

sinh :: Vector v n a -> Vector v n a #

cosh :: Vector v n a -> Vector v n a #

tanh :: Vector v n a -> Vector v n a #

asinh :: Vector v n a -> Vector v n a #

acosh :: Vector v n a -> Vector v n a #

atanh :: Vector v n a -> Vector v n a #

(TrigField a, TrigField b, TrigField c) => TrigField (a, b, c) Source #

Triple instance of TrigField.

Instance details

Methods

pi :: (a, b, c) #

sin :: (a, b, c) -> (a, b, c) #

cos :: (a, b, c) -> (a, b, c) #

tan :: (a, b, c) -> (a, b, c) #

asin :: (a, b, c) -> (a, b, c) #

acos :: (a, b, c) -> (a, b, c) #

atan :: (a, b, c) -> (a, b, c) #

atan2 :: (a, b, c) -> (a, b, c) -> (a, b, c) #

sinh :: (a, b, c) -> (a, b, c) #

cosh :: (a, b, c) -> (a, b, c) #

tanh :: (a, b, c) -> (a, b, c) #

asinh :: (a, b, c) -> (a, b, c) #

acosh :: (a, b, c) -> (a, b, c) #

atanh :: (a, b, c) -> (a, b, c) #

(KnownNat n, Divisive a, Vector v a) => Divisive (Vector v n a) Source #

Sized Vector instance of Divisive typeclass.

Instance details

Methods

recip :: Vector v n a -> Vector v n a #

(/) :: Vector v n a -> Vector v n a -> Vector v n a #

(Divisive a0, Divisive a1, Divisive a2) => Divisive (a0, a1, a2) Source #

Triple instance of Divisive typeclass.

Instance details

Methods

recip :: (a0, a1, a2) -> (a0, a1, a2) #

(/) :: (a0, a1, a2) -> (a0, a1, a2) -> (a0, a1, a2) #

(KnownNat n, Multiplicative a, Vector v a) => Multiplicative (Vector v n a) Source #

Sized Vector instance of Multiplicative typeclass.

Instance details

Methods

(*) :: Vector v n a -> Vector v n a -> Vector v n a #

one :: Vector v n a #

(Multiplicative a0, Multiplicative a1, Multiplicative a2) => Multiplicative (a0, a1, a2) Source #

Triple instance of Multiplicative typeclass.

Instance details

Methods

(*) :: (a0, a1, a2) -> (a0, a1, a2) -> (a0, a1, a2) #

one :: (a0, a1, a2) #