2010-11-08 30 views
4

我想在BLAS中对矩阵A和向量x执行简单的就地操作A x \ to x。 sgemv向y提供一个A x + b y \,并调用A x + 0 x将给出不正确的结果。执行这个简单任务的正确方法是什么? trmv提供了适当的乘法,但只适用于三角矩阵。BLAS或类似的矩阵 - 向量乘法的地方

矩阵不是很大,也许是64 * 64,但我有一个大约2^14的数组,并重复操作几次。请注意,结构更复杂,然后A^n x:A取决于2^14数组中的位置和迭代步骤。我假设(也许不正确)交替A x \ y,A y \ to x会有更糟糕的缓存性能?性能非常关键。

回答

8

我不知道,如果就地乘法可以做到:

当乘以一个X,需要对结果向量的每一个元素的原X的每一个元素,所以你需要在最小的临时空间大到x