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

Tar*_*rek 6 c++ blas matrix-multiplication

如何使用 Blas 将实矩阵与复向量相乘?当我使用 ccsrgemv() 之类的函数时,会出现类型不匹配错误?

error: argument of type "float *" is incompatible with parameter of type "std::complex<float> *"
Run Code Online (Sandbox Code Playgroud)

Ale*_* C. 5

使用两个矩阵向量乘法 (A * (x + iy) = A * x + i A * y)。更准确地说,将您的复向量视为步长为 2 的两个纠缠实向量。 BLAS 可让您做到这一点。

更新:实际上,我没有注意到你在做 Sparse BLAS。因为dgemv我的伎俩有效,但csrgemv它没有。恐怕您必须分别维护实部和虚部。