@hackage accelerate-typelits0.1.0.0
a typesafe way encode accelerate matrices and vectors
Categories
License
ISC
Maintainer
Martin Heuschober <epsilonhalbe [at] gmail [dot] com>
Links
Versions
- 0.1.0.0 Tue, 17 May 2016
Installation
Tested Compilers
Dependencies (6)
- QuickCheck >=2.8 && <2.9
- accelerate >=0.15 && <0.16
- accelerate-random >=0.15 && <0.16
- base >=4.8 && <5
- mwc-random >=0.13 && <0.14
- smallcheck >=1.1 && <1.2 Show all…
Dependents (1)
@hackage/acme-everything
Accelerate TypeLits
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