正如主题所示,将稀疏矩阵的下三角部分复制到上三角部分并完成矩阵条目以创建对称稀疏矩阵的最有效方法是什么?
假设我有包括对角线的下三角形的三元组I,J,X。我正在从商业程序中读取这些数组,并且出于存储空间的原因,我相信,它们只存储下三角形部分。
我很快就会开始测试不同的选项,但是想看看其他人之前是否经历过这种情况。
答案 0 :(得分:0)
您可以使用sparse:
idx = I ~= J; %index of nondiagonals
result = sparse([I;J(idx)], [J;I(idx)], [X;X(idx)]);
由于sparse
将X
中I
和J
中包含重复下标的元素加在一起,我们在连接向量时会排除对角元素。