How do I show that my matrix is unitary?

14 Ansichten (letzte 30 Tage)
Bryan Acer
Bryan Acer am 9 Mai 2016
Bearbeitet: Roger Stafford am 9 Mai 2016
I have a matrix H with complex values in it and and set U = e^(iH). My code to verify that U is a unitary matrix doesn't prove that U' == U^-1 which holds true for unitary matrices. What am I doing wrong? Thank you!
H = [2 5-i 2; 5+i 4 i; 2 -i 0]
U = exp(i * H)
UConjTrans = U'
UInverse = inv(U)
  3 Kommentare
Bryan Acer
Bryan Acer am 9 Mai 2016
Bearbeitet: Bryan Acer am 9 Mai 2016
The wording of the problem implies that H is hermitian and that U must therefore be a unitary matrix given by U = e^(i*H)
"show that H is hermitian." "Show U is unitary. (Recall a unitary matrix means U† = U−1)"
Roger Stafford
Roger Stafford am 9 Mai 2016
It is obviously true that H is Hermitian symmetric, but it does not follow that exp(i*H) is unitary, as you yourself have shown.
Note: The set of eigenvectors obtained by [V,D] = eig(H) can constitute a unitary matrix in such a case if properly normalized.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Roger Stafford
Roger Stafford am 9 Mai 2016
Bearbeitet: Roger Stafford am 9 Mai 2016
The problem lies in your interpretation of the expression e^(i*H). It is NOT the same as exp(i*H). What is called for here is the matrix power, not element-wise power, of e. The two operations are distinctly different. Do this:
e = exp(1);
U = e^(i*H);
You will see that, subject to tiny rounding error differences, the inverse of U is equal to its conjugate transpose.
See:
http://www.mathworks.com/help/matlab/ref/mpower.html

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by