ANN: BLAS Bindings for Haskell, version 0.5
I’ve put together a new release of the Haskell BLAS bindings, now available on hackage.
Here are the new features:
- Add
Bandedmatrix data type, as well asTri BandedandHerm Banded. - Add support for trapezoidal dense matrices (
Tri Matrix (m,n) e, wheremis not the same asn). Note that trapezoidal banded matrices are NOT supported. - Add
Diagmatrix data type for diagonal matrices. - Add
Permmatrix data type, for permutation matrices. - Enhance the
RMatrixandRSolvetype classes with an API that allows specifying where to store the result of a computation. - Enhance the
IMatrix,RMatrix,ISolve, andRSolvetype classes to add “scale and multiply” operations. - Remove the scale parameter for
TriandHermmatrix data types. - Flatten the data types for
DVectorandDMatrix. - Some inlining and unpacking performance improvements.
As far as what to expect in version 0.6, I plan to add support for operations in the ST monad. This is going to require a pretty big code reorganization and will cause quite a few API breakages, but I think it’s worth the pain. The next release will also come with a tutorial and examples. After the big code reorganization, I’ll get started on LAPACK bindings.
Please let me know if you are using the library. I’m really interested in what people like and don’t like. If you think that some functionality is missing, let me know. If you think the API is awkward in certain places, let me know that, too.