【问题标题】:fortran library for sparse matrix multiplication用于稀疏矩阵乘法的 fortran 库
【发布时间】:2013-08-29 13:14:08
【问题描述】:

在给定矩阵 A 的情况下,我有一个以以下格式存储的大矩阵;

A =

 1   0    3
 5   1    -2
 0   0    7

3 个向量;

NVPN = [1 3 4 7] - 我在第一列中任意放了一个 1,然后从第二列开始,它是每列非零元素数量的累加总和。

NNVI = [1 2 2 1 2 3] - 每个非零元素的行索引。

CONT = [1 5 1 3 -2 7] - 每个非零元素的值。

我现在需要执行矩阵*矩阵乘法和矩阵*向量乘法。有谁知道是否有任何 FORTRAN 库,我可以修改以适应我的问题,在上面执行此操作?

提前致谢

【问题讨论】:

  • 您的 NVPN 计算对我来说没有意义。 1+5+0=3怎么算?还是 0+1+0=4 或 3-2+7=7?
  • ok,是3,因为第一列有2个元素,所以是3-1 = 2
  • 另一个例子:A = [1 2 3; 4 5 6; 7 0 9]。 NVPN 将是 [1 4 6 9]
  • 我认为编写代码一点也不难。很多Fortran库我不熟悉,但是这类算法也不是太难,所以如果是我的话,我就自己写吧。
  • 这个 (stackoverflow.com/questions/12328482/…) 问答可能很有趣。不过,我认为,要使用现成的库,您必须使用成熟的稀疏矩阵表示之一,例如 CSC。

标签: matrix fortran multiplication sparse-matrix


【解决方案1】:

MATMUL 函数允许您执行矩阵乘积,它在 FORTRAN 90 standard 的第 13.7.70 节中定义。另见:GCC reference


已经有一个关于稀疏矩阵库的话题here

【讨论】:

  • 那是全矩阵,我的是稀疏的!
  • 你知道 BLAS 库吗?我不知道,但我认为这可能是您的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-14
  • 2017-07-21
  • 1970-01-01
  • 2011-11-20
  • 1970-01-01
  • 2013-06-09
  • 2018-07-27
相关资源
最近更新 更多