algorithmica-org/algorithmica

Condition and stability are intrinsically different.

AlexanderNenninger opened this issue · 1 comments

An algorithm is called *numerically stable* if its error, whatever its cause, does not grow to be much larger during the calculation. This happens if the problem is *well-conditioned*, meaning that the solution changes by only a small amount if the problem data are changed by a small amount.

Condition is a property of the problem at hand, stability is a property of an algorithm used to solve it. An algorithm solving a problem can be stable only if the underlying problem is well-conditioned. On the other hand, even if a problem is well conditioned, an algorithm solving it may be unstable (A classic example is matrix inversion). This is important because the remedy to bad conditioning is modifying the problem, whereas if your algorithm suffers from instability, it’s finding another algorithm.

Corrected the definition (I probably need more formalism in that section).