The accelerate-typelits package

[Tags:library, test]

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


[Skip to Readme]

Properties

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>
Stability experimental
Category Math
Bug tracker http://github.com/epsilonhalbe/accelerate-typelits/issues
Source repository head: git clone git://github.com/epsilonhalbe/accelerate-typelits
Uploaded Tue May 17 12:01:55 UTC 2016 by epsilonhalbe
Updated Tue May 17 12:35:48 UTC 2016 by epsilonhalbe to revision 2
Distributions NixOS:0.1.0.0
Downloads 64 total (4 in the last 30 days)
Votes
1 []
Status Docs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Readme for accelerate-typelits

Readme for accelerate-typelits-0.1.0.0

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