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?
Matt J
Matt J 2012 年 11 月 14 日
Yes, I think so.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLinear Algebra についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by