为什么复数共轭转置在Matlab中默认

Why is complex conjugate transpose the default in Matlab

如果矩阵有复数元素,我想使用命令将 A 转置为 A' >>A' 为什么要设计 a+bi 变成 a-bi ? 有什么用?

来自 here

for complex matrices, it is almost always the case that the combined operation of taking the transpose and complex conjugate arises in physical or computation contexts and virtually never the transpose in isolation (Strang 1988, pp. 220-221).

在 matlab 中如果你想转置而不共轭使用 .'

实际上,我认为 转置是共轭 有很深的原因。考虑复数的矩阵表示。让

I = (1 0)          J = (0 -1)
    (0 1)              (1  0)

并注意 J (J^T) 的转置正好等于 -J。 然后我们有这个等价(使用 j 表示虚数单位):

 x + yj   <--->  xI + yJ
(x + yj)* <--->  xI - yJ = (xI + yJ)^T

因此,共轭复数与转置其矩阵表示的操作相同。如果我们有一个 nxn 复数矩阵会怎样?为什么我们可以将它表示为 2nx2n 实数矩阵,其中每个 2x2 子矩阵的形式为 xI + yJ!事实证明,如果这样做,nxn 复矩阵的厄米特(共轭)转置就等同于 2nx2n 实数形式的普通转置。事实上,我会更进一步并声称(没有证据)复数上的任何向量或矩阵在 vectors/matrices 上与实数(后者具有两倍的维度)具有同构,并且共轭转置在复杂版本与真实版本中的转置相同。

考虑到这一点,我会说复数矩阵的 "ordinary transpose" 实际上是一件非常奇怪的事情。我们在自然法则中找不到它也就不足为奇了!

如果你愿意,自然表现就是2nx2n真实形式。碰巧的是,由于历史原因,我们首先使用符号 ji 发展了代数形式,并发明了共轭的概念,这实际上只是转置的一个特例。

因此 - 当您将矩阵转置到复数上时,Matlab 也会通过共轭元素来帮助您完成这项工作。

如果您想了解更多,值得一读表示论。维基百科是一个好的开始,虽然我发现他们的文章有点技术性:https://en.wikipedia.org/wiki/Representation_theory