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

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

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, 0.1.0.0
Change log ChangeLog.md
Dependencies accelerate, accelerate-random, base (>=4.8 && <4.9), mwc-random, QuickCheck, smallcheck [details]
License ISC
Copyright (c) 2016 Martin Heuschober
Author Martin Heuschober
Maintainer Martin Heuschober <epsilonhalbe [at] gmail [dot] com>
Category Math
Bug tracker http://github.com/epsilonhalbe/accelerate-typelit/issues
Source repo head: git clone git://github.com/epsilonhalbe/accelerate-typelit
Uploaded by epsilonhalbe at 2016-05-17T11:40:16Z

Modules

[Index]

Downloads

Maintainer's Corner

Package maintainers

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

> git clone https://github.com/epsilonhalbe/accelerate-typelits.git
> cd accelerate-typelits
> cabal install
>
> cabal sandbox init

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


The operators have been designed to give a visual hint of the respective parameters.

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.

Example usage

Todo

TODOs

Credits

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