有人能告诉我,我在哪里可以找到 OpenFOAM、PETSc 或类似工具实现的矩阵乘法的源代码?它不能是微不足道的算法。我找到了 OpenFOAM 和 PETSc 的主页,但在文档中我找不到乘法方法和源代码。
问问题
918 次
1 回答
1
PETSc 实现了多种格式的矩阵乘法,看这部分MatMult_SeqAIJ了解最基本的实现。对于以压缩稀疏行形式存储的稀疏矩阵,具有行开始ai
、列索引aj
和条目aa
,乘法由以下简单内核组成。
for (i=0; i<m; i++) {
y[i] = 0;
for (j=ai[i]; j<ai[i+1]; j++)
y[i] += aa[j] * x[aj[j]];
}
于 2011-02-15T15:56:48.430 回答