【问题标题】:Complex matrix multiplication OpenCL复矩阵乘法 OpenCL
【发布时间】:2021-04-05 12:22:58
【问题描述】:

我是 opencl 的新程序员,我要执行 2 个复矩阵的乘法,但我不知道如何在 opencl 上处理复矩阵。请帮忙?
我已经尝试过用正常数进行矩阵乘法。

【问题讨论】:

  • 为了更好地帮助您,您应该在您的问题中添加一些代码。到目前为止工作的东西,只是为了上下文。

标签: matrix opencl complex-numbers


【解决方案1】:

一种方法,虽然可能不是最有效的,但是将你的复数矩阵 Z 说成是两个实数矩阵 X(实部)和 Y 虚部,即

X[i,j]= Real( Z[i,j]) Y[i,j] = Imag( Z[i,j])

如果你有另一个复杂的矩阵 W 说,它被分成 U 和 V 然后相乘:

Z*W = (X*U-Y*V, X*V+Y*U)

在 rhs 上我们有实数矩阵和实数矩阵乘法和加法。

就乘法和加法而言,这将与直接进行(元素的)复数乘法和加法的计算量相同。如果给定并且应该返回复数数组,效率就会低下;然后你必须拆分,如上你要乘以实数的矩阵,并将产品组合成复杂的数组。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-29
    • 1970-01-01
    • 1970-01-01
    • 2013-05-20
    • 2020-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多