gpt4 book ai didi

c - C 中的稀疏矩阵乘法

转载 作者:太空宇宙 更新时间:2023-11-03 23:38:25 26 4
gpt4 key购买 nike

我有 2 个矩阵市场格式的稀疏矩阵文件:

row col val
1 1 3.0
1 2 1.0
2 3 2.0
etc...

目前,我已将文件拆分为 6 个数组:

row_A[], col_A[], val_A[], row_B[] …

分别包含行索引、列索引和值。

我想轻松地将两个矩阵相乘,而不必先将它们转换为密集矩阵格式。是否有执行此操作的算法?

我在 Quora 上找到了这个伪代码,但我不确定它是否是最好的实现,或者它在 C: https://www.quora.com/What-is-the-C-program-for-the-multiplication-of-two-sparse-matrices 中的实现方式

multiply(A,B):
for r in A.rows:
for c in A.rows[r]:
for k in B.rows[c]:
C[r,k] += A[r,c]*B[c,k]

谢谢。

最佳答案

有一些稀疏包可以为您进行乘法运算。您是否在 SuiteSparse 中尝试过 Csparse? http://faculty.cse.tamu.edu/davis/suitesparse.html

您甚至不需要转换矩阵格式。然而,也有以三元组格式提供的方法。

关于c - C 中的稀疏矩阵乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53001450/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com