You type a perfectly valid equation into a computer and get back a number that is completely wrong. The algorithm ran without error. The code has no bug. Yet the answer is garbage.
This happens because some problems are ill-conditioned: they are so sensitive to tiny perturbations in the input that unavoidable rounding errors â the kind introduced every time a computer stores a real number in finite bits â get amplified into enormous errors in the output.
The condition number of a problem is a single value that measures this amplification. A condition number near 1 is healthy: small errors stay small. A condition number in the millions means that even a rounding error at the fifteenth decimal place can corrupt every significant digit of your answer.
Ill-conditioning is not a bug you can fix by switching to a better algorithm. It is a property of the problem itself â the mathematical object you are asking about, not the method you use to study it.
Comments
Loading comments...