Backward differentiation formula
The backward differentiation formula (BDF) is a family of implicit methods for the numerical integration of ordinary differential equations. They are linear multistep methods that, for a given function and time, approximate the derivative of that function using information from already computed time points, thereby increasing the accuracy of the approximation. These methods are especially used for the solution of stiff differential equations. The methods were first introduced by and Joseph O. Hirschfelder in 1952. General formula. A BDF is used to solve the initial value problem The general formula for a BDF can be written as  where formula_3 denotes the step size and formula_4. Since formula_5 is evaluated for the unknown formula_6, BDF methods are implicit and possibly require the solution of nonlinear equations at each step. The coefficients formula_7 and formula_8 are chosen so that the method achieves order formula_9, which is the maximum possible. Derivation of the coefficients. Starting from the formula formula_10 one approximates formula_11 and formula_12, where formula_13 is the Lagrange interpolation polynomial for the points formula_14. Using that formula_4 and multiplying by formula_16 one arrives at the BDF method of order formula_17. Specific formulas. The "s"-step BDFs with "s" < 7  are: Methods with "s" > 6 are not zero-stable so they cannot be used. Stability. The stability of numerical methods for solving stiff equations is indicated by their region of absolute stability. For the BDF methods, these regions are shown in the plots below. Ideally, the region contains the left half of the complex plane, in which case the method is said to be A-stable. However, linear multistep methods with an order greater than 2 cannot be A-stable. The stability region of the higher-order BDF methods contain a large part of the left half -plane and in particular the whole of the negative real axis. The BDF methods are the most efficient linear multistep methods of this kind.