in the equation of A*q=b, A is a NxN matrix in which the numbers can be up to 10^56 and the minimum is 1. the condition number of the matrix can be as large as 3.16e+064.
The SVD, QR and LUP have been used to deal with the matrix.
however, when computing using matlab, there are still warnings such as 'Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 3.164458e-065. '
why?
Results become inaccurate because the computation is highly instable: there are many products of very big or very small numbers (according to the fact that you treat numbers like 1.56), and you end up with 'not a number' (NaN). this because matlab uses finite arithmetics (to make it simple, a finite number of digits) and not exact arithmetic.
a solution is to use scaling or a matrix preconditioner.