Используйте два умножения матрицы на вектор (A * (x + iy) = A * x + i A * y).Точнее, рассматривайте ваш сложный вектор как два запутанных действительных вектора с шагом 2. BLAS позволяет вам это делать.
ОБНОВЛЕНИЕ : на самом деле, я не заметил, что вы делали Sparse BLAS.Для dgemv
мой трюк работает, а для csrgemv
- нет.Боюсь, вы должны поддерживать реальную и мнимую части отдельно.