accelerate-blas-0.1.0.1: Numeric Linear Algebra in Accelerate

Copyright [2017] Trevor L. McDonell BSD3 Trevor L. McDonell experimental non-portable (GHC extensions) None Haskell2010

Data.Array.Accelerate.Numeric.LinearAlgebra.BLAS.Level3

Description

Level 3 (matrix-matrix) BLAS operations.

Synopsis

Documentation

class (Elt a, Num a) => Numeric a Source #

Minimal complete definition

numericR

Instances

 Source # MethodsnumericR :: NumericR Double Source # MethodsnumericR :: NumericR Float Source # MethodsnumericR :: NumericR (Complex Double) Source # MethodsnumericR :: NumericR (Complex Float)

type Matrix e = Array DIM2 e Source #

Matrices as dense two-dimensional arrays in row-major ordering

data Transpose Source #

Many operations allow you to implicitly transpose the arguments. For a given input matrix mat with dimensions Z :. m :. n (that is; m rows and n columns):

Constructors

 N Leave the matrix as is. T Treat the matrix as implicitly transposed, with dimensions Z :. n :. m. Entry Z :. j :. i is treated as actually being entry Z :. i :. j. H Implicitly transpose and conjugate the input matrix. For complex-valued matrices a given element mat ! Z:.j:.i == x :+ y will be treated as actually being mat ! Z:.i:.j == x :+ (-y).

Instances

 Source # Methods Source # MethodsshowList :: [Transpose] -> ShowS #

Arguments

 :: Numeric e => Exp e $$\alpha$$ -> Transpose operation to apply to A -> Acc (Matrix e) A -> Transpose operation to apply to B -> Acc (Matrix e) B -> Acc (Matrix e) C

General matrix-matrix multiply

$C = \alpha * \mathrm{op}(A) * \mathrm{op}(B)$

where:

• shape $$\mathrm{op}(A)$$ = Z :. m :. k
• shape $$\mathrm{op}(B)$$ = Z :. k :. n
• shape $$C$$ = Z :. m :. n

https://software.intel.com/en-us/mkl-developer-reference-c-cblas-gemm