No description, website, or topics provided.
Haskell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bench
src/Data/Array/Accelerate
test
.gitignore
.travis.yml
ChangeLog.md
LICENSE
Readme.md
Setup.hs
accelerate-typelits.cabal
stack-7.10.3.yaml
stack-8.2.2.yaml

Readme.md

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