AMDG
Peng Wang wrote:
I am a newbie of boost.
Could I ask one question that how to convert BGL adjacency_matrix object
into common matrix
(http://www.boost.org/doc/libs/1_37_0/libs/numeric/ublas/doc/matrix.htm)?
I am sorry that if the question is too simple. I have looked around but did
not
find a answer.
I presume that you want a 1 where there is an edge an a 0 otherwise?
#include
#include
#include
boost::numeric::ublas::matrix<double> to_ublas_matrix(const
boost::adjacency_matrix<>& m) {
std::size_t size = num_vertices(m);
boost::numeric::ublas::matrix<double> result(size, size);
BOOST_FOREACH(std::size_t row, vertices(m)) {
BOOST_FOREACH(std::size_t column, vertices(m)) {
result(row, column) = edge(row, column, m).second;
}
}
return(result);
}
int main() {
boost::adjacency_matrix<> m(5);
add_edge(0, 2, m);
boost::numeric::ublas::matrix<double> u(to_ublas_matrix(m));
}
In Christ,
Steven Watanabe