使用Boost Graph Library我正在寻找一种从由或表示的底层图中提取邻接矩阵的方法。我想结合使用这个矩阵来求解联立线性方程组。boost::adjacency_list
boost::adjacency_matrix
boost::numeric::ublas
这是一个让您开始的最小示例:
#include <boost/graph/adjacency_list.hpp>
#include <boost/graph/adjacency_matrix.hpp>
using namespace boost;
typedef boost::adjacency_list< listS, vecS, directedS > ListGraph;
typedef boost::adjacency_matrix< directedS > MatrixGraph;
int main(){
ListGraph lg;
add_edge (0, 1, lg);
add_edge (0, 3, lg);
add_edge (1, 2, lg);
add_edge (2, 3, lg);
//How do I get the adjacency matrix underlying lg?
MatrixGraph mg(3);
add_edge (0, 1, mg);
add_edge (0, 3, mg);
add_edge (1, 2, mg);
add_edge (2, 3, mg);
//How do I get the adjacency matrix underlying mg?
}
如果有人能想出一种有效的方法来获得邻接矩阵,我将非常感激。理想情况下,该解决方案与 uBLAS 兼容。我想知道是否有一种方法可以避免整个图表的迭代。