-
Notifications
You must be signed in to change notification settings - Fork 229
Description
Problem
Currently, the Boost Graph Library's compressed_sparse_row_graph only supports directed and bidirectional graphs. There are explicit comments in the codebase and documentation indicating that undirected CSR support is a planned but unimplemented feature:
compressed_sparse_row_graph.hpp:At this time, the compressed sparse row graph can only be used to create directed and bidirectional graphs. In the future, undirected CSR graphs will also be supported.
doc/compressed_sparse_row.html:At this time, the CSR graph type only supports directed and bidirectional graphs...
This is problematic for several reasons, e.g. for adjusting performance in my Louvain's implementation algorithm: I can't use Louvain on directed graphs, but I can't use undirected CSR. Consequently a gap exists between BGL implementations and GenLouvain (that uses CSR). Having an undirected CSR could bridge that gap:
Feature Request
Add support for undirected compressed sparse row (CSR) graphs to compressed_sparse_row_graph. This would improve memory efficiency and performance for large undirected graphs, matching the benefits provided for directed graphs.