フィルターのクリア

Is there any way to reduce the error in the calculation of eigenvectors when using eig function?

6 ビュー (過去 30 日間)
In the equation AV = BVD (cond(A) = 10^4, cond(B) = 10^8), my A and B matrices are highly ill-conditioned. The eigenvectors I am getting have an error around 100, whereas the actual value of eigenvector is in the order of 10^-2. I tried [V, D] = eig(A, B, 'qz'), but this didn't make much difference. So is there any way I can specify the error tolerance while using [V, D] = eig(A, B) or is there any other way of computing eigenvectors with the required tolerance in MATLAB?
Thanks.
  1 件のコメント
Adam
Adam 2018 年 7 月 10 日
Surely the fact that your matrices are highly ill-conditioned is the source of the problem? Pre-condition them and eig should be more accurate I would have thought.

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

回答 (1 件)

Christine Tobler
Christine Tobler 2018 年 7 月 16 日
I'm just catching up on MATLAB Answers: Can you tell us some more about your problem? How are you measuring the error in the eigenvectors?
The error that EIG (and most eigensolvers) is trying to minimize is that norm(A*V - B*V*D) should be small. Is this the error you are measuring?
  5 件のコメント
Christine Tobler
Christine Tobler 2018 年 7 月 17 日
It seems that the problem is not the condition of A and B so much as the norms of A and B, which are both 3.1378e+15.
For any generalized eigenvalue problem, we can multiply both A and B by 1e15, and this will not affect the eigenvalues and eigenvectors, but the residual will be a factor 1e15 larger.
A colleague suggested that a good way to go would be to scale the residual by the norms of A and B:
>> norm(A*V - B*V*D) / max(norm(A), norm(B))
ans =
8.0423e-10
That this is not 1e-15, I would now blame on the condition numbers of A and B.
Yaswanth  Sai
Yaswanth Sai 2018 年 7 月 19 日
So is there any other way we can improve the condition of matrices and then get the eigenvectors? I tried using 'balance'([V,D]=eig(balance(A),balance(B)), but that doesn't seem to work.
Thanks.

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

カテゴリ

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