The CMATLIB Numerical Libraries Logo

Project links

Project page
CVS access
Browse CVS


Christopher Lee

CMATLIB is set of libraries for numerical applicatons, which I wrote while working on my thesis research. The basis of CMATLIB is a C-wrapper for BLAS, which performs basic matrix manipulation and arithmetic. On top of this has been built support for some capabilities of LAPACK, neural-network training and evaluation, hidden Markov model support, kd-trees, spline smoothing, and cublic spline interpolation.

CMATLIB is intended to be as efficient as possible by using the BLAS library that is already installed on your computer. If BLAS is not installed on your computer, you will need to install it. See the prerequisites section of this page for information about this and other software you will need to compile and use CMATLIB.

Future directions

  • An RScheme interface exists for CMATLIB, and is contained in the CMATLIB distribution. Is not documented to this point. Currently, the RScheme interface works, but it must be built with an old version of G-Wrap.
  • Guile interface to CMATLIB. RScheme development seems to have been a little slow for a while, I may add an interface for Guile, using a more modern version of G-Wrap.
  • Possible move to a base of the GNU Scientific Library. This would have the advantage of working on a base of code which is more widely used, and easier to build. Neural net, HMM, smoothing code, etc... would be ported, along with the Scheme interface. This would require a switch from LGPL to GPL.


  • February 23, 2002.
    I've just released version, the first Sourceforge based release.

  • February 5, 2002.
    I have recently moved CMATLIB to Sourceforge to make it useful to more people.


To build this package, the following are needed:

  • A Fortran compiler (I've only tested with g77 so far).
  • BLAS and LAPACK. A copy of these libraries may have been included with your computer if it is an engineering workstation. For Linux systems, check your distribution for this libraries (I use Debian's libraries on my PC). Sources for these packages are available from netlib.

plot of principal curve fit