Eigenvalue question, hermitian matrix

thedean515
Messages
11
Reaction score
0
I read from a book and claim that for any hermitian matrix can be diagonalized by a unitary matrix whose columns represent a complete set of its normalized eigenvectors. It then given an equation:
\mathbf{\left|A\right|=\left|U\right|\left|\Lambda\right|\left|U^{\dagger}\right|}=\lambda_{1}\lambda_{2}\ldots\lambda_{M} \qquad \qquad (1)

Let \mathbf{A} be a M\times M hermitian matrix , and \lambda_{i}, \lambda_{2}, \ldots, \lambda_{M} and \mathbf{u_{1},\, u_{2},\,\ldots\, u_{M}}represent its eigenvalues and an orthonormal set of eigenvectors.

\mathbf{\Lambda=}diag\left[\lambda_{1},\lambda_{2},\ldots,\lambda_{M}\right]
and
\mathbf{U=[u_{1},u_{2},\ldots,u_{M}]}
\mathbf{U^{\dagger}} represent the complex conjugate transpose of U.

I failed to proof it in MATLAB.

I have

A =

1.5000 2.5000 3.5000 4.5000 5.5000
2.5000 1.5000 2.5000 3.5000 4.5000
3.5000 2.5000 1.5000 2.5000 3.5000
4.5000 3.5000 2.5000 1.5000 2.5000
5.5000 4.5000 3.5000 2.5000 1.5000

>> [U lamda] = eig(A)
U =

0.6015 -0.4703 -0.3717 0.1777 0.4973
0.3717 0.2490 0.6015 -0.5125 0.4187
-0.0000 0.6586 0.0000 0.6414 0.3936
-0.3717 0.2490 -0.6015 -0.5125 0.4187
-0.6015 -0.4703 0.3717 0.1777 0.4973


lamda =

-5.2361 0 0 0 0
0 -1.6080 0 0 0
0 0 -0.7639 0 0
0 0 0 -0.5558 0
0 0 0 0 15.6638

The middle of Equation (1) equal to

abs(U)*abs(lamda)*abs(U')

ans =

6.2463 4.8416 3.6267 4.8416 6.2463
4.8416 3.9914 3.0274 3.9914 4.8416
3.6267 3.0274 3.3521 3.0274 3.6267
4.8416 3.9914 3.0274 3.9914 4.8416
6.2463 4.8416 3.6267 4.8416 6.2463

it does not equal to the right handside of Equation 1:
prod(diag(lamda))

ans =

56.0000

I think I must made a stupid error somewhere but can't see it myself at the moment, someone can help me
 
Physics news on Phys.org
I think you have "\mathbf{U}" and "\mathbf{U^{\dagger}}" reversed.

Try multiplying in the opposite order
 
HallsofIvy said:
I think you have "\mathbf{U}" and "\mathbf{U^{\dagger}}" reversed.

Try multiplying in the opposite order

Thank you for your help.
I tried, but I still can't get |A| from abs(U')*abs(lamda)*abs(U), which I will called it A2.

A2- abs(A) =
ans =

6.3607 3.6121 1.6572 -1.8534 1.0880
3.6121 3.5874 1.4778 -1.1544 0.8109
1.6572 1.4778 2.1712 -0.4520 0.9084
-1.8534 -1.1544 -0.4520 0.0429 0.0043
1.0880 0.8109 0.9084 0.0043 4.1655

I didn't understand from the equation given is that:

|A| = \lamda_1 \lamda_2 \ldots \lamda_M[\tex]<br /> <br /> If A is a M x M matrix how would it equal to a value as indicated by the RHS.
 
Here '|A|' doesn't mean the absolute value. It is the determinant.
 
that's right, thank you very much. I didn't thought about that. My question them become how to differentiate a absolute value or a determinant of a matrix?
 
Well, if the quantity in the '| |' is a matrix, it means the determinant, as far as I've seen until now.
 
Matlab has the command det(A) and it will return the determinant of the matrix A.

If you multiply, the right hand side determinants together you will get the determinant on the left hand side :)
 
Back
Top