A generalized eigenvalue problem

5 views (last 30 days)
YC
YC on 13 Nov 2012
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
YC
YC on 13 Nov 2012
Yes,you are right.So,do you think these two scenarios are equivalent?
Matt J
Matt J on 14 Nov 2012
Yes, I think so.

Sign in to comment.

Categories

Find more on Linear Algebra in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!