1

There are lots of references about Boost::uBLAS compressed_matrix and coordinate_matrix. But I found no explanation about mapped_matrix. How is it implemented?

Which strategy of sparse storage does it use?

Plus: can someone provide me some reference in papers or books?

Jason Aller
  • 3,541
  • 28
  • 38
  • 38
  • http://www.boost.org/doc/libs/1_66_0/libs/numeric/ublas/doc/matrix_sparse.html#mapped_matrix – sehe Feb 20 '18 at 15:24

1 Answers1

0

Plus: can someone provide me some reference in papers or books?

There doesn't seem to be actual books for this library. The documentation is here

http://www.boost.org/doc/libs/1_66_0/libs/numeric/ublas/doc/matrix_sparse.html#mapped_matrix

On quick scan it answers your questions:

enter image description here

How is it implemented.

It's implemented as a container adapter. It only stores non-zero elements. These are stored in an associative container internally.

By default the underlying associative container is std::map, but it's customizable using the A template argument.

Wich strategy of sparse storage it uses?

It only stores non-zero elements. These are stored in an associative container internally. See above.

Additionally, you can note the precise way in which the element indices are transformed into a key for the associative container (depending on F: row-major or column-major organization) and what guarantees this holds for weak total ordering of elements in a sparse matrix compared to the corresponding dense matrix models. (See above).

sehe
  • 374,641
  • 47
  • 450
  • 633
  • I know that documentation. It does not answer my question. There is no enough information about how it works. But thank you for your quick scan. – Rodrigo Oliveira Mar 15 '18 at 15:36
  • My quick scan only used about 3 sentences from the linked documentation and **all** the answers are there. I elaborated my answer to make that more explicit. Perhaps you can tell us what — specifically — information you are missing? – sehe Mar 15 '18 at 16:49
  • I could not explain myself before because my english is poor. But the information you provided is great. Thank you very much! – Rodrigo Oliveira Apr 13 '18 at 12:13