Numerical analysis is the study of algorithms that use numerical approximations for the problems of mathematical analysis. It continues this long tradition of practical mathematical calculations. Modern numerical analysis does not seek exact answers. This is due to the fact exact answers are often impossible to obtain in practice. Instead, numerical analysis is concern with obtaining approximate solutions while maintaining reasonable bounds on errors.

Direct methods compute the solution to a problem in a finite number of steps. These methods give precise answers if they are performed in infinite precision arithmetic. Examples of direct methods include Gaussian elimination, the QR factorization methods for solving systems of linear equations, and the simple method of linear programming. Finite precision is used and the result is an approximation of the true solution.

Iterative methods are not expected to terminate in a number of steps. Starting from an initial guess, iterative methods form successive approximations that converge to the exact solution only in the imit. A convergence test is specified in order to decide when a sufficiently accurate solution has been found. Even using infinite precision arithmetic, these methods will not reach the solution within a finite number of steps. Examples of the iterative methods include Newton’s method, the bisection method and Jacobi iteration. Iteration methods are generally needed for large scale problems.

Since the advent of computers, most algorithms are implemented in a variety of programming languages. The Netlib repository contains various collections of software routines for numerical problems. Many computer algebra systems such as Mathematica also benefit from the availability of arbitrary precision arithmetic which can provide more accurate results.