Boost logo

Ublas :

From: Gunter Winkler (guwi17_at_[hidden])
Date: 2008-01-22 17:01:05


Am Dienstag, 22. Januar 2008 02:40 schrieb Markus Weimer:
> Hi,
> what are the differences between the different sparse matrix types
> (Mapped Matrix, Compressed Matrix and Coordinate Matrix)? The
> descriptions on the site
> <http://www.boost.org/libs/numeric/ublas/doc/matrix_sparse.htm> all
> read alike and I am kind of puzzled...

The different kinds serve differet goals:

mapped_matrix: use a simple hash map and thus rely on the performance of
the STL.

compressed_matrix: fast element lookup, superior axpy speed, low memory
usage, but slow structure changes (insert, erase)

coordinate_matrix: fast addition (append_element), good axpy speed, but
slow element look up, possibly large memory usage

generalized_vector_of_vector (e.g. vector<compressed_vector<..> >):
fast row look up, fast/moderate element lookup, moderate structure
changes, moderate axpy speed.

Personally I use the gvov for assembling and compressed_matrix for
further computations. Most of the time the necessary copy operation is
more than compensated.

cf. http://www.guwi17.de/ublas/matrix_sparse_usage.html

mfg
Gunter