简体   繁体   English

使用升压图库进行最小度排序

[英]minimum degree ordering using boost graph library

I have run the code of minimum degree ordering of boost graph library using the Harwell-boeing formatted matrix (bcsstk01.rsa) as input which is given in the documentation of the code, it also says how to run the code. 我已经使用Harwell-boeing格式化矩阵(bcsstk01.rsa)作为输入(在代码文档中给出)来运行升压图形库的最小度排序代码,它还说明了如何运行代码。 But when I tried to run another input file, it gives the following error: 但是,当我尝试运行另一个输入文件时,出现以下错误:

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)

I don't understand why this is not running and why this type of error is showing. 我不明白为什么它没有运行以及为什么显示这种类型的错误。 Please help! 请帮忙!

it looks like this routine crashes for fully non-sparse matrices. 对于完全非稀疏的矩阵,此例程崩溃。 I can repeat this problem for dimension 2 and 3 with fully non-sparse matrices. 我可以使用完全非稀疏矩阵对2维和3维重复此问题。 As soon as the matrix is sparse, the function works. 矩阵稀疏后,函数便会起作用。

The function crashes as well, if there are no other elements than the diagonal elements (no call to add_edge()). 如果除对角线元素外没有其他元素,则函数也会崩溃(不调用add_edge())。

Both cases are trivial cases and don't need to be passed to this function. 这两种情况都是微不足道的情况,不需要传递给此函数。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM