In numerical analysis, the

**numerical stability**of a method describes how that method responds to the differences between the calculation and the function being approximated. In a stable method, the errors due to the approximations get damped out as the computation proceeds. In an unstable method, any errors in processing get magnified as the calculation proceed. Unstable methods quickly generate garbage and are useless for numerical processing.

In calculating partial differential equations, stability is achieved by including numerical diffusion. Numerical diffusion is a mathematical term which insures that the random errors in the calculation get spread out and do not add up to cause the calculation to be garbage.

Numerical stability is the reason why you usually can't test a numerical code such as a climate simulation by running it backward. Running the code forward includes numerical methods to insure that the random approximation errors become less and less important as the calculation proceed insuring numerical stability. Running the code backward causes those mechanisms to magnify those errors generating useless results.

The numerical stability of a method together with the condition number defines how good a result we can get when using approximated methods to calculate a certain mathematical problem.

When solving a numerical problem with an approximated method, two types of errors can occur:

- Cutoff errors: One can only make a finite number of calculations. Examples: calculating a transcendental function using its Taylor expansion, integrating using a sum of finite rectangles.
- Roundoff errors: Certain numbers need an infinite number of digits to be represented (pi), when rounding these numbers the roundoff errors will propagate through the calculation.