A generalized eigenvalue problem

5 次查看(过去 30 天)
YC
YC 2012-11-13
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
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?

请先登录,再进行评论。

类别

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