矩阵转置 Matlab与Numpy差异,复数慎重
最近在尝试将一些Matlab代码转为Python,踩了一些意想不到的坑。仅供参考。
矩阵转置,Matlab可以非常简单的通过加一撇来实现,例如
A = [1,2;3,4]
B = A'
输出为
A =
1 2
3 4
B =
1 3
2 4
看起来和Python里的transpose()功能一样。
但当处理复数矩阵时,就理所当然的踩坑了。Matlab的‘撇’转置时,会同时将复数取共轭。
A = [1+1i,2-2i;3+3i,4-4i]
B = A'
输出的却是
A =
1+1i 2-2i
3+3i 4-4i
B =
1-1i 3-3i
2+2i 4+4i