如何使用Blas将实矩阵与复矢量相乘?当我使用像ccsrgemv()这样的函数时,我得到类型不匹配错误?
error: argument of type "float *" is incompatible with parameter of type "std::complex<float> *"
答案 0 :(得分:4)
使用两个矩阵向量乘法(A *(x + iy)= A * x + i A * y)。更确切地说,将复杂向量视为两个纠结的实数向量,步长为2. BLAS允许您执行此操作。
更新:实际上,我没有注意到你在做稀疏BLAS。对于dgemv
我的诀窍是有效的,但对于csrgemv
则没有。我担心你必须分别保持真实和想象的部分。