A generalized eigenvalue problem

a generalized eigenvalue problem can be written as follows
A*X=B*X*D
I need to solve a large matrix problem,i.e.the dim of A and B is large.Both A and B are semi-definite matrix.B is non-singular via adding some constant values to the diagonal elements of B.
The problem is when I use [V,D]=eig(A,B) to solve this eigen-problem, the element of both V and D include real and imaginary parts, e.g.0.0124+0.0000i
but,if I calculate B^-1=inv(B),T=B^-1*A first, then use [V,D]=eig(T) to solve this problem instead, the result seems to be right,because the element of V and D does not include imaginary part,e.g.0.0123.
So,I'm very confused...I think these two scenarios are equivalent,but why not the result?

답변 (1개)

Matt J
Matt J 2012년 11월 13일
편집: Matt J 2012년 11월 13일

0 개 추천

If the imaginary part is zero or close to zero, you can probably just assume that it's finite precision numerical noise.

댓글 수: 2

YC
YC 2012년 11월 13일
Yes,you are right.So,do you think these two scenarios are equivalent?
Matt J
Matt J 2012년 11월 14일
Yes, I think so.

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

카테고리

도움말 센터File Exchange에서 Linear Algebra에 대해 자세히 알아보기

질문:

YC
2012년 11월 13일

Community Treasure Hunt

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

Start Hunting!

Translated by