Boost logo

Glas :

[glas] An existing generic library : GMM

From: Yves Renard (Yves.Renard_at_[hidden])
Date: 2005-02-07 04:30:38

Hi all,

The subject of a generic linear algebra library interest we a lot.
I personnally write an evolution of MTL library, I called GMM, which is
available at the following web address

In fact it is an evolution of the gathering of MTL and ITL. I simplified (and
corrected sometimes) the iterative solvers and preconditionners, I added some

Concerning the basic linear algebra representation, all the generic algorithms
have been rewrited. What I added is an extension of the linalg_traits<T>
structure which, in GMM, gives all the necessary information for the generic
algorithms to work with the vector or matrix type. So that, theoretically, an
extern vector or matrix type which is sufficiently compatible can be
interfaced with GMM just writing the corresponding linalg_traits<T>
structure. For instance, the basic plain vector used is simply std::vector.

For dense matrices, An efficient implicit QR algorithm (for eigeinvalues
search) has been developped.

The library is working with some arbitrary precision floating point library
and the multiplication with different types is allowed (for example,
multiplying a complex matrix with a real vector).

I also added (may be this is the major contribution) a unified description for
sub-vectors and sub-matrices, so that sub-vectors and sub-matrices can be
used on all the generic algorithms, and this for dense, sparse or sky-line

I do not pretend that GMM could be as you said "a reference implementation", a
lot of things could be discussed and modified, but I think there is some
concepts I developp in this library that can interest you.


  Yves Renard (renard_at_[hidden]) tel : (33)
  Dept de Mathematiques, INSA de Toulouse fax : (33)
  Complexe Scientifique de Rangueil
  31077 Toulouse Cedex, FRANCE