accelerate-blas-0.1.0.0: Numeric Linear Algebra in Accelerate

Copyright[2017] Trevor L. McDonell
LicenseBSD3
MaintainerTrevor L. McDonell <tmcdonell@cse.unsw.edu.au>
Stabilityexperimental
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Data.Array.Accelerate.Numeric.LinearAlgebra.BLAS.Level2

Description

Level 2 (matrix-vector) BLAS operations.

Synopsis

Documentation

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

Minimal complete definition

numericR

Instances

Numeric Double Source # 

Methods

numericR :: NumericR Double

Numeric Float Source # 

Methods

numericR :: NumericR Float

Numeric (Complex Double) Source # 

Methods

numericR :: NumericR (Complex Double)

Numeric (Complex Float) Source # 

Methods

numericR :: NumericR (Complex Float)

type Vector e = Array DIM1 e #

Vectors are one-dimensional arrays

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).

gemv Source #

Arguments

:: Numeric e 
=> Exp e

\( \alpha \)

-> Transpose

Operation to apply to A

-> Acc (Matrix e)

A

-> Acc (Vector e)

x

-> Acc (Vector e)

y

Computes the matrix-vector product of a general matrix.

\[ y = \alpha * \mathrm{op}(A) * x \]

where:

  • shape \(\mathrm{op}(A)\) = Z :. m :. n
  • shape \(x\) = Z :. n
  • shape \(y\) = Z :. m

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