{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# OPTIONS_GHC -Wall #-}
module NumHask.Algebra.Linear.Hadamard
( HadamardMultiplication(..)
, HadamardDivision(..)
, Hadamard
)
where
import NumHask.Algebra.Abstract.Multiplicative
class (Multiplicative a) =>
HadamardMultiplication m a where
infixl 7 .*.
(.*.) :: m a -> m a -> m a
class (Divisive a) =>
HadamardDivision m a where
infixl 7 ./.
(./.) :: m a -> m a -> m a
class (HadamardMultiplication m a, HadamardDivision m a) => Hadamard m a
instance (HadamardMultiplication m a, HadamardDivision m a) => Hadamard m a