User friendly, simple bindings to BLAS and Lapack. Easy to extend and use.

HBLAS assumes you have BLAS and LAPACK installed. Users on OSX already
have a BLAS and LAPACK installed for them. Users on LINUX and similar
platforms will need to do the system equivalent of sudo apt-get install libblas liblapack.

HBLAS is not intended to be a library for end user array operations,
but rather an easy adaptor for calling BLAS and LAPACK routines in their
full generality from your end-user haskell linear algebra / array library
of choice.

HBLAS roughly mirrors the naming conventions and datatype names of the standard
BLAS and LAPACK libraries. Those of you who are familiar with these conventions
and moderately comfortable with haskell will feel right at home.

If you are not familiar with the the operations and conventions of BLAS and
Lapack, please read the
Intel MKL BLAS and LAPACK documention,
you'll learn a lot about what BLAS and LAPACK can do.

HBLAS doesn't provide every BLAS and LAPACK operation currently, but
is designed so that adding support for new operations is quite easy!

Maintainer's Corner

Readme for hblas-0.4.0.1

About hblas

hblas is an open source component of the Wellposed® mathematical software suite.

Members of the numerical haskell open source community can be found on irc at #numerical-haskell on freenode,
and via the numericalhaskell mailing list.

hblas is a self contained full (well, not quite yet) BLAS and LAPACK binding that provides the
full BLAS and LAPACKE APIs in a simple, unopinionated, Haskell wrapper.

This library is NOT meant to be used by end users, it is designed to be
an unopinionated, simple, portable, easy to install BLAS/LAPACK substrate for higher level numerical
computing libraries to build upon. Morever, this library is strictly a wrapper,
and simply makes using the functionality of BLAS and LAPACK more accessible.

This library is NOT meant to be used a standalone array library (except in desperation),
but rather should be used by a higher level numerical array library to provide
high performance linear algebra routines.

Install

By default, hblas will assume you have BLAS and LAPACK built and installed.

OSX

On OS X systems, things will just work.

$ cabal install

Linux

On linux and bsd systems, you will need to manually install the BLAS and LAPACK libraries beforehand.

$ sudo apt-get install libblas liblapack
$ cabal install

Testing

To run the test suite execute:

$ cabal test

Linking

If you get an error like undefined reference to 'cblas_sdsdot' when building or running an HBLAS program,
you might be on a system that builds BLAS and CBLAS separately, such as Arch Linux.

In which case, be sure to install CBLAS and invoke cabal install hblas -fCBLAS
to make sure hblas links to CBLAS properly.