matlab和python中复数矩阵乘法的区别
Difference between complex matrix multiplication in matlab and python
我正在尝试将一个程序从 matlab 转换为 python,但我没有得到一个工作。
在这行代码中,我试图将 2 个复数数组相乘:
Matlab:
Croco2=refAntDiag_norm'*testAntDiag_norm;
Python:
Croco2 = np.matmul(refAntDiag_norm.transpose(), testAntDiag_norm))
但输出不同。
有人知道如何解决这个问题吗?
在 MATLAB 中,这个运算符:'
是 complex conjugate transpose, not just a normal transpose which numpy's .transpose() 正在做的。
MATLAB 的 transpose operator 是 .'
.
因此,与您在 Python 中的代码等效的 MATLAB 代码将是
Croco2=refAntDiag_norm.'*testAntDiag_norm;
从文档来看,复数共轭转置的 numpy 等价物似乎是 .H
。
我正在尝试将一个程序从 matlab 转换为 python,但我没有得到一个工作。 在这行代码中,我试图将 2 个复数数组相乘:
Matlab:
Croco2=refAntDiag_norm'*testAntDiag_norm;
Python:
Croco2 = np.matmul(refAntDiag_norm.transpose(), testAntDiag_norm))
但输出不同。
有人知道如何解决这个问题吗?
在 MATLAB 中,这个运算符:'
是 complex conjugate transpose, not just a normal transpose which numpy's .transpose() 正在做的。
MATLAB 的 transpose operator 是 .'
.
因此,与您在 Python 中的代码等效的 MATLAB 代码将是
Croco2=refAntDiag_norm.'*testAntDiag_norm;
从文档来看,复数共轭转置的 numpy 等价物似乎是 .H
。