[V,D]=eig(S1,S2) ?

조회 수: 11 (최근 30일)
Samhitha Vadlamani
Samhitha Vadlamani 2016년 10월 12일
댓글: yabes dwi nugroho 2016년 12월 2일
question reframed : I am performing CSP and while simultaneous diagonalization of two classes , I came across the syntax [V,D]=eig(S1,S2) , where , S1 = PAP' and S2= PBP' ( A and B - covariance matrices of class1 and 2 respectively and P being a whitening matrix obtained from the composite covariance of classes 1 and 2 ) . Now , the algorithm claims the following conditions for eigenvalue decompositions of S1 and S2 simultaneously: S1=V(lambda_1)V' ; S2=V(lambda_2)V' ; lambda_1+lambda_2=I , where V is the common eigenvector for S1 and S2 . In the code for CSP, there was a line that says [V,e]=eig(S1,S2) [ which I'm thinking to be the simultaneous diagonalization of S1 and S2 ] . How are the conditions captured in the formula above and how can I access lambda_1 and lambda_2 separately to check if the final condition has been satisfied ? Thank you.
  댓글 수: 1
Massimo Zanetti
Massimo Zanetti 2016년 10월 12일
편집: Massimo Zanetti 2016년 10월 12일
[V,e]=eig(S1,S2) is not "simultaneous diagonalization" of S1,S1 in the sense that they have the same eigenvectors. They DO NOT have the same eigenvectors. It is called "simoultaneous diagonalization" because it gives the right-eigenvectors of both A and (after a simple manipulation) the ones of B.
In fact, V is the matrix of right-eigenvectors of A, and (D^-1*A)*V is the set of right-eigenvectors of B.

댓글을 달려면 로그인하십시오.

답변 (2개)

Massimo Zanetti
Massimo Zanetti 2016년 10월 12일
편집: Massimo Zanetti 2016년 10월 12일
They are not captured by the syntax of eig(A,B). Let me explain you why:
The call
[V,D] = eig(A,B)
returns diagonal matrix D of generalized eigenvalues and full matrix V whose columns are the corresponding right eigenvectors of A, so that A*V = B*V*D.
Now, from this you easily get the right eigenvectors of B (that are not the same to that of A) B*V=D^-1*A*V. Assume that there exists a common eigenvector w for A and B, then Aw=Bw=h. Applying the equivalence above you get Bw*D = D^-1*Aw, and thus DhD=h. This is true only if D is the identity matrix.
  댓글 수: 1
yabes dwi nugroho
yabes dwi nugroho 2016년 12월 2일
How if the result of D is not identity matrix?? because I try to use it. but the result is not identity matrix

댓글을 달려면 로그인하십시오.


Samhitha Vadlamani
Samhitha Vadlamani 2016년 10월 12일
I am extremely sorry Sir . I will reframe my question . There were so many variables that I got confused.

카테고리

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

태그

Community Treasure Hunt

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

Start Hunting!

Translated by