If there are more then one possible way of solving a problem, then one may think of more than one algorithm for the same problem. Hence, it is necessary to know in what domains these algorithms are applicable. Data domain is an important aspect to be known in the field of algorithms. Once we have more than one algorithm for a given problem, how do we choose the best among them? The solution is to devise some data sets and determine a performance profile for each of the algorithms. A best case data set can be obtained by having all distinct data in the set. But, it is always complex to determine a data set, which exhibits some average behavior. The following sections give a brief idea of the well-known accepted algorithms.

2.1 Numerical Algorithms
Numerical analysis is the theory of constructive methods in mathematical analysis. Constructive method is a procedure used to obtain the solution for a mathematical problem in finite number of steps and to some desired accuracy.
2.1.1 Numerical Iterative Algorithm
An iterative process can be illustrated with the flow chart given in fig 2.1. There are four main blocks in the process viz., initialization, decision, computation, and update. The functions of these four blocks are as follows:

Initialization: all parameters are set to their initial values.

Decision: decision parameter is used to determine when to exit from the loop.

Computation: required computation is performed.

Update: decision parameter is updated and is transformed for next iteration.

Many problems in engineering or science need the solution of simultaneous linear algebraic equations. Every iterative algorithm is infinite step algorithm. One of the iterative algorithms to solve system of simultaneous equations is Guass Siedel. This iteration method requires generally a few iteration. Iterative techniques have less round-off error. For large system of equations, the iteration required may be quite large. But, there is a guarantee of getting the convergent result.
For example: consider the following set of equations,
10x_{1}+2x_{2}+x_{3}= 9
2x_{1}+20x_{2}-2x_{3}= -44
-2x_{1}+3x_{2}+10x_{3}= 22.
To solve the above set of equations using Guass Siedel iteration scheme, start with (x_{1}^{(1)},x_{2}^{(1)},x_{3}^{(1)})=(0,0,0) as initial values and compute the values of we write the system of x_{1}, x_{2}, x_{3 }using the equations given below
x_{1}^{(k+1)}=(b_{1}-a_{12}x_{2}^{(k+1)}-a_{13}x_{3}^{(k)})/a_{11
}x_{2}^{(k+1)}=(b_{2}-a_{21}x_{1}^{(k+1)}-a_{23}x_{3}^{(k)})/a_{22
}x_{3}^{(k+1)}=(b_{3}-a_{31}x_{1}^{(k+1)}-a_{32}x_{3}^{(k+1)})/a_{33
}for k=1,2,3,…
This process is continued upto some desired accuracy. Numerical iterative methods are also applicable for obtaining the roots of the equation of the form f(x)=0. The various iterative methods used for this purpose are,