The stability of numerical schemes is closely associated with numerical error. A finite difference scheme is stable if the errors made at one time step of the calculation do not cause the errors to increase as the computations are continued. A neutrally stable scheme is one in which errors remain constant as the computations are carried forward. If the errors decay and eventually damp out, the numerical scheme is said to be stable. If, on the contrary, the errors grow with time the numerical solution diverges from the true, correct answer and thus the numerical scheme is said to be unstable. The stability of numerical schemes can be investigated by performing von Neumann stability analysis. For time-dependent problems, stability guarantees that the numerical method produces a bounded solution whenever the solution of the exact differential equation is bounded. Stability, in general, can be difficult to investigate, especially when equation under consideration is nonlinear.
Unfortunately, von Neumann stability is necessary and sufficient for stability in the sense of Lax–Richtmyer (as used in the Lax equivalence theorem) only in certain cases: The PDE the finite difference scheme models must be linear; the PDE must be constant-coefficient with periodic boundary conditions and have only two independent variables; and the scheme must use no more than two time levels. It is necessary in a much wider variety of cases, however, and due to its relative simplicity it is often used in place of a more detailed stability analysis as a good guess at the restrictions (if any) on the step sizes used in the scheme.
For more information, please visit: Wikipedia