|
Boost : |
From: jhrwalter (walter_at_[hidden])
Date: 2001-12-07 02:44:16
--- In boost_at_y..., Toon Knapen <toon.knapen_at_s...> wrote:
> jhrwalter wrote:
>
> >>Does the sparse matrix also support COO (coordinate) and
> >>most important CSC (compressed sparse row or Harwell-Boeing)
> >>format ?
> >
> > No. Our base containers vector, matrix, sparse_vector and
> > sparse_matrix were designed to use std::vector and std::map as
> > storage and prove interoperability. CRS and CCS storage formats
have
> > to be implemented. With regard to COO I'm unsure.
> >
>
> I've been looking at the code to see how COO and CSC could be added.
>
> As for the COO, you are right that it is not necessary. The current
> compressed_array could be used.
Hm. I'll have to think about that.
> Most important though is that we prefer
> to first construct the structure of the matrix and later fill in
the
> values. The speedup by constructing the structure first exactly
comes
> from that the internal array do not need to be sorted the whole
time.
> Where you sort the compressed_array now the whole time, I would
like to
> delay this sorting. This way it's more efficient.
compressed_array has a range insert member. Doesn't it suffice?
> After having built up the structure, the matrix would also need a
> constructor that takes the structure as an argument (not only as a
> template argument).
>
> An option would be to add some members to work in non-sorted mode.
For
> instance a member function add_nnz(size_type, size_type) or just
> add_nnz(size_type) that would add the entry but not force that
data_
> would be sorted as a post-condition. When the structure is used to
> construct another structure (like CSC) or used within a matrix
> constructor, the sort would be triggered. This sort can also be
> triggered by any call to any of the other member functions of the
> object but this might be inefficient.
Sorry, you've lost me. Are you talking about extending/changing
existing sparse matrix formats or about new CRS and CCS formats here?
Regards
Joerg
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk