使用BLAS将实矩阵与复矢量相乘

时间:2011-10-01 09:52:13

标签: c++ matrix-multiplication blas

如何使用Blas将实矩阵与复矢量相乘?当我使用像ccsrgemv()这样的函数时,我得到类型不匹配错误?

error: argument of type "float *" is incompatible with parameter of type "std::complex<float> *"

1 个答案:

答案 0 :(得分:4)

使用两个矩阵向量乘法(A *(x + iy)= A * x + i A * y)。更确切地说,将复杂向量视为两个纠结的实数向量,步长为2. BLAS允许您执行此操作。

更新:实际上,我没有注意到你在做稀疏BLAS。对于dgemv我的诀窍是有效的,但对于csrgemv则没有。我担心你必须分别保持真实和想象的部分。