小编He0*_*e01的帖子

有没有有效的方法来动态更改boost中的compress_matrix?

我正在使用ublas :: Compressed Matrix来处理稀疏线性求解器UMFPACK.由于我正在进行模拟,所以每次线性系统的构造都略有不同,可能涉及扩大/缩小系数矩阵和一些稀疏矩阵乘法.线性系统的规模约为25k.

即使有一个绑定补丁用于增强与UMFPACK一起工作,我仍然需要不时更改矩阵,有时甚至计算非零值的数量将是耗时的(理想情况下,我必须给出数字当我初始化矩阵时的非零值).另外,我使用ublas :: range动态追加列/行.

所以我的问题是:有没有有效的方法来做到这一点?现在对我来说太慢了.转换尺寸为15k的矩阵成本接近6s并且附加大约12k行是很快的(因为我猜它是行主矩阵),但是向矩阵添加相同数量的列可能花费多达20s(我想同样的如上所述,所以即使我使用了列主矩阵,所需的总时间也是相同的).

有点在这里绝望.任何建议都是受欢迎的.

干杯.

c++ boost solver sparse-matrix umfpack

10
推荐指数
1
解决办法
607
查看次数

标签 统计

boost ×1

c++ ×1

solver ×1

sparse-matrix ×1

umfpack ×1