Why is complex conjugate transpose the default in Matlab
Asked Answered
B

2

6

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?

Binominal answered 23/1, 2015 at 6:14 Comment(2)
It is the conjugate transpose (docs). Note that you can use .' if you just want to swap the rows and columns and not negate the imaginary part of the numbersRequiescat
So why is it useful regarding the conjugate transpose of complex matrix A as the extension of conjugate complex number?Binominal
R
6

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

Requiescat answered 23/1, 2015 at 7:45 Comment(0)
L
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

Lillalillard answered 16/11, 2016 at 7:54 Comment(1)
This is the best Wikipedia entry I found for this concept: en.wikipedia.org/wiki/Conjugate_transpose#MotivationInclusion

© 2022 - 2024 — McMap. All rights reserved.