Boost logo

Boost :

From: helmut.zeisel_at_[hidden]
Date: 2001-08-20 09:08:30


--- In boost_at_y..., Dietmar Kuehl <dietmar_kuehl_at_y...> wrote:
> Hi,
>
> Helmut Zeisel wrote:
> > However, if we wait for a matrix library that covers
> > all these issues, we will never have a standard C++ matrix
interface.
>
> You don't want to define a matrix class anyway! You want to define
> a generic interface for matrices which is used to access some
> representation. That is, the algorithms shall be independent of the
> underlying data structure.

Not exactly.
What I personally need most is some generic interface
to use existing libraries such as IMSL, NAGLIB, LASPACK etc.
in a uniform manner.
For that purpose, I also need some implementation(s).
For IMSL-C, e.g., a matrix has to be stored contiguously
row by row,
calling a Fortran library, a matrix has to be stored
contiguously column by column.

OTOH, when such a uniform interface is defined,
it can also be used to write new algorithms
which are independent of the respective
implementation.
I am not so sure, however, whether it is so easy
to write a linear system solver that
works efficiently independent of the
internal representation (row by row or column by column?).

> Hence, a matrix library only has to provide the
> features you are actually interested in and there is no need at all
> to cover the whole mix in one matrix library.
>
> Actually, it is likely that the matrix concepts are layered very
> much the way the iterator concepts are layered: There are some basic
> matrix access operation which are used by general purpose matrix
> algorithms. If you have more specific algorithms, eg. for the case
> that a matrix is triangular or sparse, you will have extended
> concepts taking the special structure into account.
>

I agree.

Helmut
 


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk