fpnla-0.1.1: A library for NLA operations

Safe HaskellSafe-Inferred

FPNLA.Operations.BLAS

Contents

Description

This module defines all the BLAS (Basic Linear Algebra Subprograms) operations supported by the framework. See http://www.netlib.org/blas/ for more information about BLAS and http://www.ugcs.caltech.edu/~srbecker/blasqr_betterFonts.pdf for a quick description of all BLAS operation signatures and behaviour.

Synopsis

Level One

Vector-Vector operations

class (Elt e, Vector v e) => DOT s v e whereSource

Defines the signature of the level-1 BLAS dot operation in the framework.

Methods

dotSource

Arguments

:: StratCtx s

The context of the operation

-> v e

A vector x

-> v e

A vector y

-> ResS s e

The scalar product between x and y

Level Two

Matrix-Vector operations

class (Elt e, MatrixVector m v e) => GEMV s m v e whereSource

Defines the signature of the level-2 BLAS gemv operation in the framework.

Methods

gemvSource

Arguments

:: StratCtx s

The context of the operation

-> TransType (m e)

A matrix A

-> v e

A vector x

-> e

A scalar alpha

-> e

A scalar beta

-> v e

A vecor y

-> ResV s v e
alpha * A * x + beta * y

Level Three

Matrix-Matrix operations

class (Elt e, MatrixVector m v e) => SYRK s m v e whereSource

Defines the signature of the level-3 BLAS syrk operation in the framework.

Methods

syrkSource

Arguments

:: StratCtx s

The context of the operation

-> e

A scalar alpha

-> TransType (m e)

A matrix A

-> e

A scalar beta

-> TriangType (m e)

A triangular matrix C

-> ResM s v m e

alpha * A * A' + beta * C where A' is the conjugate transposed of A.

class (Elt e, MatrixVector m v e) => GEMM s m v e whereSource

Defines the signature of the level-3 BLAS gemm operation in the framework.

Methods

gemmSource

Arguments

:: StratCtx s

The context of the operation

-> TransType (m e)

A matrix A

-> TransType (m e)

A matrix B

-> e

A scalar alpha

-> e

A scalar beta

-> m e

A matrix C

-> ResM s v m e
alpha * A * B + beta * C

class (Elt e, MatrixVector m v e) => TRSM s m v e whereSource

Defines the signature of the level-3 BLAS trsm operation in the framework.

Methods

trsmSource

Arguments

:: StratCtx s

The context of the operation

-> e

A scalar alpha

-> TransType (TriangType (UnitType (m e)))

A triangular matrix A

-> m e

A matrix B

-> ResM s v m e

alpha * A_inv * B where A_inv is the inverse of A.