필터 지우기
필터 지우기

How do I show that my matrix is unitary?

조회 수: 13 (최근 30일)
Bryan Acer
Bryan Acer 2016년 5월 9일
편집: Roger Stafford 2016년 5월 9일
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
Bryan Acer
Bryan Acer 2016년 5월 9일
편집: Bryan Acer 2016년 5월 9일
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 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
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

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by