Multiplication of complex matrices
29 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Vage Karakhanyan
am 24 Okt. 2019
Kommentiert: Vage Karakhanyan
am 24 Okt. 2019
I have noticed that when I multiply 2 matrices with complex elements A*B, Matlab takes the complex conjugate of matrix B and multiplies A to conj(B).
For example I have a complex vector a = [2+0.3i, 6+0.2i], so the multiplication a*(a') gives 40.13 which is not correct. However, when I want to calculate square of the norm of vector 'a' norm_square = a*conj(a)' I get complex number which is a sum of squares of the vector components.
My question is: is it a bug or I just dont get the way matlab works with complex numbers?
1 Kommentar
James Tursa
am 24 Okt. 2019
"when I multiply 2 matrices with complex elements A*B, Matlab takes the complex conjugate of matrix B and multiplies A to conj(B)"
No, it doesn't.
Akzeptierte Antwort
James Tursa
am 24 Okt. 2019
Bearbeitet: James Tursa
am 24 Okt. 2019
There are two different operators:
' is the complex conjugate transpose
.' is the straight transpose (no complex conjugate), notice the dot
Use the operator that is appropriate for your application. If you only want the transpose with no conjugation, then use the dot version .'
Side Note: Related to this, the dot( ) function effectively uses the ' operation internally ... i.e., it does a complex conjugate of the first argument.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Operators and Elementary Operations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!