hblas alternatives and similar packages
Based on the "Math" category.
Alternatively, view hblas alternatives based on common mentions on social networks and blogs.
-
vector
An efficient implementation of Int-indexed arrays (both mutable and immutable), with a powerful loop optimisation framework . -
hgeometry
HGeometry is a library for computing with geometric objects in Haskell. It defines basic geometric types and primitives, and it implements some geometric data structures and algorithms. -
dimensional
Dimensional library variant built on Data Kinds, Closed Type Families, TypeNats (GHC 7.8+). -
numhask
A haskell numeric prelude, providing a clean structure for numbers and operations that combine them. -
poly
Fast polynomial arithmetic in Haskell (dense and sparse, univariate and multivariate, usual and Laurent) -
eigen
Haskel binding for Eigen library. Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
Nutrient – The #1 PDF SDK Library, trusted by 10K+ developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of hblas or a related project?
Popular Comparisons
README
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.
Usage
API is subject to change.
import Foreign.Storable
import Numerical.HBLAS.BLAS
import Numerical.HBLAS.MatrixTypes
-- Generate the constant mutable square matrix of the given type and dimensions.
constMatrix :: Storable a => Int -> a -> IO (IODenseMatrix Row a)
constMatrix n k = generateMutableDenseMatrix SRow (n,n) (const k)
example_dgemm :: IO ()
example_dgemm = do
left <- constMatrix 2 (2 :: Double)
right <- constMatrix 2 (3 :: Double)
out <- constMatrix 2 (0 :: Double)
dgemm NoTranspose NoTranspose 1.0 1.0 left right out
resulting <- mutableVectorToList $ _bufferDenMutMat out
print resulting
Getting Involved
Patches, bug reports, tests, and other contributions welcome.
If you want to add a new routine, check out the ones listed in the lapack section of the Intel MKL manual to get some human readable documentation.
Commercial Support
I have > 32bit size arrays, help!
Congrats, you have ``big compute on big data'', contact Carter and we'll try to help you out.