accelerate-typelits: a typesafe way encode accelerate matrices and vectors

[ library, math ] [ Propose Tags ]

a small wrapper plus convenience functions on top of accelerate to represent matrices with their dimensions


[Skip to Readme]
Versions 0.1.0.0
Change log ChangeLog.md
Dependencies accelerate (==0.15.*), accelerate-random (==0.15.*), base (>=4.8 && <5), mwc-random (==0.13.*), QuickCheck (==2.8.*), smallcheck (==1.1.*) [details]
License ISC
Copyright (c) 2016 Martin Heuschober
Author Martin Heuschober
Maintainer Martin Heuschober <epsilonhalbe [at] gmail [dot] com>
Revised Revision 2 made by epsilonhalbe at Tue May 17 12:35:48 UTC 2016
Category Math
Bug tracker http://github.com/epsilonhalbe/accelerate-typelits/issues
Source repo head: git clone git://github.com/epsilonhalbe/accelerate-typelits
Uploaded by epsilonhalbe at Tue May 17 12:01:55 UTC 2016
Distributions NixOS:0.1.0.0
Downloads 507 total (4 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

Modules

[Index]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees


Readme for accelerate-typelits-0.1.0.0

[back to package description]

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