使用boost图库的最小度排序

时间:2015-06-15 18:25:37

标签: c++ boost matrix sparse-matrix boost-graph

我使用Harwell-boeing格式化矩阵(bcsstk01.rsa)作为输入在代码文档中给出了运行代码的最小度排序代码,它还说明了如何运行代码。但是当我尝试运行另一个输入文件时,它会出现以下错误:

boost_1_58_0/boost/pending/bucket_sorter.hpp:119:boost::bucket_sorter<BucketType, ValueType, Bucket, ValueIndexMap>::stack boost::bucket_sorter<BucketType, ValueType, Bucket, ValueIndexMap>::operator[](const BucketType&) [with BucketType = long unsigned int, ValueType = long unsigned int, Bucket = boost::iterator_property_map<int*, boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int>, int, int&>, ValueIndexMap = boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int>]: Assertion `i < head.size()' failed.
Aborted (core dumped)

我不明白为什么没有运行以及为什么会出现这种类型的错误。请帮忙!

1 个答案:

答案 0 :(得分:0)

看起来这个例程会因完全非稀疏矩阵而崩溃。 对于具有完全非稀疏矩阵的维2和3,我可以重复这个问题。 一旦矩阵稀疏,该函数就会起作用。

如果除了对角线元素之外没有其他元素(没有调用add_edge()),函数也会崩溃。

这两种情况都是微不足道的,不需要传递给这个函数。