I'm having numerical problem after inverting complex matrix.
I have sparse, complex matrix A{f}, invert it using the following command (MATLAB):
Where I denote identity matrix and f denotes some parameter (not important in this case).Code:Ainv = A{f}\I;
Than I focus on the particular element of the inverse matrix. Let's say Ainv(1, 1). I observed that for some values of parameter f the results are wrong (diffrent than I expected).
Ainv(1, 1) has a good value, but if I take imag(Ainv(1, 1))/real(Ainv(1, 1)) i get rubish!
I belive the causes of this strange behaviour could be:
1. MATLAB algorithm is unstable for this matrix
2. The matrix is ill-conditioned, but the problem occours only if I take ratio of the real and imaginary part.
I focused on the 2. because there is nothing to do about Matlab algorithm.
The condition number of the matrix is rather large:
cond(A) = 1.7530e+12
Using this number I'm trying to estimate relative error. And here comes the problem, because I don't really know how to do that.
If I don't misunderstand the concept of condition number, it should be done like that.
Let Ainv(1, 1) =
Where x and y are exact values for the real and imaginary part. Andare absolute errors.
Than the relative errors should be:
As far as I know the relative errors are added to each other when I'm doing division. So I should get:
In this case
So:
Thus the relative error should be far less than 1%, (and I get far more error than 100%). So what causes the problems than??
Maybe I don't understand the conception of condition number. If so, correct me and tell me how to estimate error in this case.
Thanks in advance.


LinkBack URL
About LinkBacks