|
Boost : |
From: Dietmar Kuehl (dietmar_kuehl_at_[hidden])
Date: 2001-08-20 08:24:03
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. What you want to define is just the access
methods such that you can later choose appropriate representations
suiting your needs! 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.
Don't make the error and assume that "interface" means anything like
a Java interface and that you have to use base classes or something
like this! It is much more reasonable to think in terms of concepts
and formulate them in a generic way: The algorithms will like be
template functions which can then be used with both static and
dynamic polymorphism.
I haven't looked at MTL but I suspect that MTL is pointing into the
right direction...
-- <mailto:dietmar_kuehl_at_[hidden]> <http://www.dietmar-kuehl.de/> Phaidros eaSE - Easy Software Engineering: <http://www.phaidros.com/> ===== <mailto:dietmar_kuehl_at_[hidden]> <http://www.dietmar-kuehl.de/> __________________________________________________________________ Do You Yahoo!? Gesendet von Yahoo! Mail - http://mail.yahoo.de
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk