Why is complex conjugate transpose the default in Matlab

柔情痞子 提交于 2019-12-21 13:08:13

问题


if A matrix has complex element and I want to transpose A to A' using the command >>A' Why it is design that a+bi be transformed into a-bi ? What it use for?


回答1:


From 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).

In matlab if you want to transpose without conjugating use .'.




回答2:


Actually I'd argue that there are deep reasons why the transpose IS the conjugate. Consider a matrix representation of complex numbers. Let

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

and notice that the transpose of J (J^T) is just equal to -J. Then we have this equivalence (using j to denote the imaginary unit):

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

So conjugating the complex number was the same operation as transposing its matrix representation. What happens if we have an nxn matrix of complex numbers? Why then we can just represent it as a 2nx2n matrix of real numbers, where each 2x2 sub-matrix is of the form xI + yJ! Turns out if you do so that the Hermitian (conjugate) transpose of the nxn complex matrix is just equivalent to the ordinary transpose in the 2nx2n real form. In fact I'll go further and claim (without proof) that any vector or matrix over the complex numbers has an isomorphism in vectors/matrices over the reals (the latter having double the dimensionality), and that conjugate-transposition in the complex version is identical to transposition in the real version.

With this in mind, I'd say that the "ordinary transpose" of a matrix over the complex numbers is actually a very strange thing. It's not surprising that we don't find it in natural laws!

If you like, the natural representation is the 2nx2n real form. It just so happens that for historical reasons we developed the algebraic form using the symbols j or i first, and invented the idea of conjugation, which is really just a special case of the transpose.

Hence - when you transpose a matrix over the complex numbers, Matlab helpfully completes the job by conjugating the elements for you as well.

If you'd like to learn more, it's worth reading about representation theory. Wikipedia is a good start, although I find their article a bit technical: https://en.wikipedia.org/wiki/Representation_theory



来源:https://stackoverflow.com/questions/28104040/why-is-complex-conjugate-transpose-the-default-in-matlab

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!