a typesafe way encode accelerate matrices and vectors

Latest on Hackage:

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow to host generated Haddocks.

ISC licensed by Martin Heuschober
Maintained by Martin Heuschober <epsilonhalbe [at] gmail [dot] com>

Accelerate TypeLits

Build Status Synopsis

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


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
> cd accelerate-typelits
> cabal install

> git clone
> 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
> 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.


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


Revision history for accelerate-typelit

2016-04-23 – – initial version

  • Defining data types to handle type-safe matrices and vectors
  • Providing vector/matrix/scalar functions for addition, multiplication
comments powered byDisqus