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