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?

Answers (1)

Matt J
Matt J on 13 Nov 2012
Edited: Matt J on 13 Nov 2012
If the imaginary part is zero or close to zero, you can probably just assume that it's finite precision numerical noise.

2 Comments

Yes,you are right.So,do you think these two scenarios are equivalent?
Yes, I think so.

Sign in to comment.

Categories

Find more on Linear Algebra in Help Center and File Exchange

Asked:

YC
on 13 Nov 2012

Community Treasure Hunt

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

Start Hunting!