I am a computer science student. But I start writing here because my problem is not code related. It is purely computational related.
I am trying to calculated inverse of a large (e.g., $2000 \times 2000$) square matrix. This matrix is band diagonal matrix.
The non zero elements are very small numbers (e.g: $1--6$). They never exceed 6.
Now when I invert this matrix the result of inversion are all same number displayed.
Output:
9.711E013 9.711E013 9.711E013 9.711E013....................
9.711E013 9.711E013 9.711E013 9.711E013......................
9.711E013 9.711E013 9.711E013 9.711E013.....................
..............................................................
9.711E013 9.711E013 9.711E013 9.711E013
My question is that why this type of output I get? What is the mathematical reason behind this?
EDITED: thanks to comment of copper.hat.
The mathematical/numerical reason is that the condition number defined as $$ \varkappa(A) = \frac{\sigma_{\max}(A)}{\sigma_{\min}(A)} $$ is too large, say of order $10^{10}$ or even more. $\sigma_{\min, \max}(A)$ is the minimal and maximal singular values of matrix $A$.
The case of small determinant is a particular case and in some cases implied from the argument above.