Boost logo

Glas :

[glas] multilevel block-matrices

From: plagne.laurent_at_[hidden]
Date: 2005-03-11 11:23:26

Hi all,

The GLAS project is very interesting. A broadly accepted C++ API for LA objects
and algorithms would be very useful for the scientific computing community.

I work on a C++ LA library used in Boltzmann equation deterministic solvers.

In this case, linear algebra objects (matrices and vectors) are multi-level
blocked :
                 matrix < matrix < matrix <...> > > > and
                  vector < vector <vector<...> > >

Hence our library handles those kinds of linear algebra object as well as
corresponding algorithms.

In addition, our matrices are virtual (elements computed on the fly) or actual
(elements stored) and thus the library can switch from one type to the other
via a simple option.
(If some people want more details about our lib I can send them an extended
conf. abstract)

I wonder if this kind of feature :
    - multi-level blocked matrices.
    - optional storage policy (virtual/actual) for matrices.
can be of more general interest and should be considered in the GLAS project ?

I also wonder about the best level for parallelism consideration :
   * Computer science level : e.g. STAPL
   * Linear algebra level (GLASS level ;-))
   * Higher Level : e.g. FEM solvers.


P.S I had to deal with vector space ideas because the neutral element notion
cannot be avoided in the multi-level case (its no more a simple 0 or 1 double).