Numerical methods require tedious, cumbersome and repetitive arithmetic operations for large problems. It is almost impossible to do these cumbersome arithmetic operations manually. The development of information technology enhances the potential of these numerical techniques, and various software can handle algebra involved in these techniques in a very simple and sophisticated manner. Since most of the numerical techniques are algorithmic in nature and require repetitive cumbersome iterations, so it is practical to apply these algorithms to a computer. Of course, a computer must be given detailed and complete instructions for each step. During the formulation of any algorithm, we must keep in mind the following main features of the computer.
i) The computer is capable of performing only the basic arithmetic operations. Hence, each problem must be reduced to problems of these arithmetic operations. Numerical techniques provide these algorithms for a wide range of problems.
ii) The memory of the computer stores the algorithms and results of computations, and this enables the repetitive execution and results can be retrieved as per requirement.
iii) Computer's memory facilitates the alteration in the execution of instructions depending on results obtained during the execution.
A systematic stepwise set of instructions utilizing above features of the computer enables us to solve complicated and cumbersome problems. Our efforts aim at the search for such algorithms. We will see that for a specific type of problems, there are several algorithms (For example, to solve nonlinear equations, we can choose among various algorithms like Bisection, Regula–Falsi, Newton–Raphson, etc.). We have a lot of choices depending on our requirement for speed, accuracy, and convergence, etc. A combination of two algorithms can also be used. For example, we can find a close approximation to the root of an equation by Bisection method keeping in mind the convergence; and then continue with the Newton–Raphson method from this approximation onwards keeping in mind the speed of the method. For modest size problem, we can easily implement any algorithm with high configuration computer. But in the case of large-scale problems, slow algorithms need to be rejected.
So far, many algorithms are developed for different kinds of problems. As we discussed above, there are so many reasons to select an algorithm over others.