tensor-ops-0.1.0.0: Tensor manipulation operations with tensorflow-style automatic differentiation

Safe HaskellNone
LanguageHaskell2010

TensorOps.BLAS.HMat

Documentation

data HMat :: Type -> BShape Nat -> Type Source #

Instances

(Container Vector a, Numeric a) => BLAS Nat (HMat a) Source # 

Associated Types

type ElemB (HMat a) (b :: BShape (HMat a) -> Type) :: Type Source #

Methods

liftB :: Sing (BShape (HMat a)) s -> (Vec n (ElemB (HMat a) b) -> ElemB (HMat a) b) -> Vec n (b s) -> b s Source #

axpy :: ElemB (HMat a) b -> b (BV (HMat a) n) -> Maybe (b (BV (HMat a) n)) -> b (BV (HMat a) n) Source #

dot :: b (BV (HMat a) n) -> b (BV (HMat a) n) -> ElemB (HMat a) b Source #

ger :: b (BV (HMat a) n) -> b (BV (HMat a) m) -> b (BM (HMat a) n m) Source #

gemv :: ElemB (HMat a) b -> b (BM (HMat a) n m) -> b (BV (HMat a) m) -> Maybe (ElemB (HMat a) b, b (BV (HMat a) n)) -> b (BV (HMat a) n) Source #

gemm :: ElemB (HMat a) b -> b (BM (HMat a) n o) -> b (BM (HMat a) o m) -> Maybe (ElemB (HMat a) b, b (BM (HMat a) n m)) -> b (BM (HMat a) n m) Source #

scaleB :: ElemB (HMat a) b -> b s -> b s Source #

addB :: b s -> b s -> b s Source #

indexB :: BShapeP (HMat a) (IndexN (HMat a)) s -> b s -> ElemB (HMat a) b Source #

indexRowB :: IndexN (HMat a) n -> b (BM (HMat a) n m) -> b (BV (HMat a) m) Source #

transpB :: b (BM (HMat a) n m) -> b (BM (HMat a) m n) Source #

iRowsB :: Applicative f => (IndexN (HMat a) n -> b (BV (HMat a) m) -> f (b (BV (HMat a) o))) -> b (BM (HMat a) n m) -> f (b (BM (HMat a) n o)) Source #

iElemsB :: Applicative f => (BShapeP (HMat a) (IndexN (HMat a)) s -> ElemB (HMat a) b -> f (ElemB (HMat a) b)) -> b s -> f (b s) Source #

bgenA :: Applicative f => Sing (BShape (HMat a)) s -> (BShapeP (HMat a) (IndexN (HMat a)) s -> f (ElemB (HMat a) b)) -> f (b s) Source #

bgenRowsA :: (Applicative f, SingI (HMat a) n) => (IndexN (HMat a) n -> f (b (BV (HMat a) m))) -> f (b (BM (HMat a) n m)) Source #

eye :: Sing (HMat a) n -> b (BM (HMat a) n n) Source #

traceB :: b (BM (HMat a) n n) -> ElemB (HMat a) b Source #

diagB :: b (BV (HMat a) n) -> b (BM (HMat a) n n) Source #

getDiagB :: b (BM (HMat a) n n) -> b (BV (HMat a) n) Source #

sumB :: b s -> ElemB (HMat a) b Source #

(Storable a, Show a, Element a) => Show1 (BShape Nat) (HMat a) Source # 

Methods

showsPrec1 :: Int -> f a -> ShowS #

show1 :: f a -> String #

(Storable a, NFData a) => NFData1 (BShape Nat) (HMat a) Source # 

Methods

rnf1 :: f a -> () Source #

(SingI (BShape Nat) s, Container Vector a, Container Matrix a, Num a) => Num (HMat a s) Source # 

Methods

(+) :: HMat a s -> HMat a s -> HMat a s #

(-) :: HMat a s -> HMat a s -> HMat a s #

(*) :: HMat a s -> HMat a s -> HMat a s #

negate :: HMat a s -> HMat a s #

abs :: HMat a s -> HMat a s #

signum :: HMat a s -> HMat a s #

fromInteger :: Integer -> HMat a s #

(Storable a, Show a, Element a) => Show (HMat a s) Source # 

Methods

showsPrec :: Int -> HMat a s -> ShowS #

show :: HMat a s -> String #

showList :: [HMat a s] -> ShowS #

(Storable a, NFData a) => NFData (HMat a s) Source # 

Methods

rnf :: HMat a s -> () #

type ElemB Nat (HMat a) Source # 
type ElemB Nat (HMat a) = a