Filter löschen
Filter löschen

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

6 Ansichten (letzte 30 Tage)
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 Kommentar
Adam
Adam am 10 Jul. 2018
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.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Christine Tobler
Christine Tobler am 16 Jul. 2018
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 Kommentare
Christine Tobler
Christine Tobler am 17 Jul. 2018
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 am 19 Jul. 2018
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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Linear Algebra finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by