Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why is complex conjugate transpose the default in Matlab

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?

like image 646
Peter Zhu Avatar asked Jan 23 '15 06:01

Peter Zhu


2 Answers

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 .'.

like image 199
Dan Avatar answered Sep 30 '22 12:09

Dan


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

like image 37
David Turner Avatar answered Sep 30 '22 12:09

David Turner