如何迭代Eigen中稀疏矩阵的行和列?
我有一行主稀疏矩阵,我想在其上执行这些matlab命令:
R =总和(H,1)
R2 =总和(H,2)
其中H是稀疏矩阵(0,1),r和r2是整数向量。我认为我必须能够在row和col上进行迭代才能完成。任何建议将不胜感激。
提前感谢。
答案 0 :(得分:1)
您可能希望查看非常有用的eigen
/ matlab
转化参考:
http://eigen.tuxfamily.org/dox/AsciiQuickReference.txt
在您的情况下,它转换为:
r = H.colwise().sum() // sum(H, 1)
r2 = H.rowwise().sum() // sum(H, 2)
修改强>
正如您所指出的,稀疏矩阵不支持这些功能。您可能需要重新实现它。我建议从https://forum.kde.org/viewtopic.php?f=74&t=122971
获得分离在sum(H, 1)
的示例中,它可以写成:
r = H * VectorXd::Ones(H.cols())