【发布时间】:2011-08-27 16:15:35
【问题描述】:
在 fortran9x 中乘以任意 M x N 矩阵(例如 A,仅包含 +1 和 -1 作为其条目(以及完全填充!),具有任意(密集)N维向量,v?
非常感谢, 灵眸
附: A 的大小(即 M 和 N)在编译时是未知的。
【问题讨论】:
标签: vector matrix fortran multiplication
在 fortran9x 中乘以任意 M x N 矩阵(例如 A,仅包含 +1 和 -1 作为其条目(以及完全填充!),具有任意(密集)N维向量,v?
非常感谢, 灵眸
附: A 的大小(即 M 和 N)在编译时是未知的。
【问题讨论】:
标签: vector matrix fortran multiplication
我的猜测是只做乘法而不是通过检查矩阵元素的符号并相应地加/减来避免乘法会更快。因此,只需使用一般优化的矩阵向量乘法例程。例如。来自 BLAS 的 xGEMV。
【讨论】:
根据使用场景,如果您必须多次应用相同的矩阵,您可能会将其分成两部分,一部分包含正项,另一部分包含负项。 有了这个,你可以避免乘法的需要,但是它会引入一个间接,这可能比乘法更昂贵。 因此,janneb 的解决方案可能是最合适的。
【讨论】: