Armadillo Sparse Matrix CSC - 如何存储零值

时间:2017-03-04 13:56:59

标签: c++ matrix julia sparse-matrix armadillo

Armadillo(C ++线性代数库:Spout PHP Library on Github)支持稀疏矩阵的初步版本(在CSC存储模型中)。正如我在文档和代码中所读到的,犰狳稀疏矩阵实现不区分零值和"未设置"值。

文档说存储的所有值都是非零的,扣除所有非存储值都为零。相反,我需要的是区分" unset"从零开始。

我目前将Julia项目移植到C ++ / Armadillo,我需要操作一些sparses矩阵,其中包含-1,0,1和"未设置"值。与犰狳形成鲜明对比的是,朱莉娅区分了零和'#34;未设置"在其稀疏矩阵实现中。

我的第一个想法是使用复杂的稀疏矩阵(arma :: sp_cx_mat,arma :: sp_cx_imat),只需很少的技巧来管理simili-zero值(利用虚数作为虚拟的非零部分)。但这非常优雅,肯定会影响代码性能。

你觉得有没有办法绕过犰狳限制而不写我自己的矩阵类?

非常感谢您的回答。

0 个答案:

没有答案