How do I show that my matrix is unitary?
14 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Roger Stafford
el 9 de Mayo de 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.
Respuestas (1)
Roger Stafford
el 9 de Mayo de 2016
Editada: Roger Stafford
el 9 de Mayo de 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
0 comentarios
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!