@hackage accelerate-typelits0.1.0.0

a typesafe way encode accelerate matrices and vectors

Accelerate TypeLits

Build Status Synopsis

This library provides a high level interface to accelerate for matrix computations.

Installation

The simplest way to install this library is using cabal or cabal-sandbox

> cabal install accelerate-typelits

If you want to have the most recent version, the project is on github so you can checkout the project.

> git clone https://github.com/epsilonhalbe/accelerate-typelits.git
> cd accelerate-typelits
> cabal install

> git clone https://github.com/epsilonhalbe/accelerate-typelits.git
> cd accelerate-typelits
> cabal sandbox init
> cabal install

There is also a stack.yaml file included, so one can also use stack in order to compile this library.

> git clone https://github.com/epsilonhalbe/accelerate-typelits.git
> cd accelerate-typelits
> stack --stack-yaml stack-7.10.yaml build

The operators have been designed to give a visual hint of the respective parameters.

  • # for matrices
  • ^ for vectors
  • . for scalars

So for example #*^ represents the multiplication of a matrix with a vector, analogously ^*# works the other way around. Other examples would be #*# for matrix-matrix multiplication and .*^ scalar multiplication of a vector.

Operator precedence is usually the same as the numeric equivalence.

Credits

The matrix-vector and matrix-matrix products have been inspired by Henning Thielemann's accelerate-arithmetic library