How do I show that my matrix is unitary?
14 次查看(过去 30 天)
显示 更早的评论
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 个评论
Roger Stafford
2016-5-9
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.
回答(1 个)
Roger Stafford
2016-5-9
编辑:Roger Stafford
2016-5-9
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!