This library provides a purely functional interface to linear algebra and other numerical computations, internally implemented using GSL, BLAS and LAPACK.
All linear algebra functions mentioned in GNU-Octave's Quick Reference (except syl) are already available both for real and complex matrices: eig, svd, chol, qr, hess, schur, inv, pinv, expm, norm, and det. There are also functions for numeric integration and differentiation, nonlinear minimization and root finding, etc.
- Darcs repository: darcs get http://code.haskell.org/hmatrix
- Browse the repository: http://perception.inf.um.es/darcsweb
I am very happy to receive contributions, suggestions, and bug reports.
available functions
The library provides high level convenience functions based on wrappers to the following functions:
LAPACK: dgesvd, dgesdd, zgesvd, zgeev, dgeev, dsyev, zheev, dgesv, zgesv, dgels, zgels, dgelss, zgelss, dgeqr2, zgeqr2, dpotrf, zpotrf, dgehrd, zgehrd, dgees, zgees, dgetrf, zgetrf, dgetrs, zgetrs.
GSL: gsl_integration_{qng, qags}, gsl_deriv_{central, forward}, gsl_multimin_fminimizer_{conjugate_fr, vectorBFGS, nmsimplex}, gsl_multiroot_fsolver_{hybrid[s], dnewton, broyden}, gsl_poly_complex_solve, gsl_fft_complex_{forward, inverse}, and 200+ special functions.
related projects
- hmatrix-static, by Reiner Pope. A thin, lightweight wrapper over hmatrix to support static checking of matrix and vector sizes (for instance, addition of different-sized vectors will be disallowed at compile-time)
The alternative numeric prelude by Dylan Thurston, Henning Thielemann, and Mikael Johansson.
applications
- easyVision: a system for fast prototyping of computer vision and image processing applications based on HopenGL, MPlayer and Intel's IPP image processing library.
