Evaluation of 7 Scientific Computing Methods

Engineering is basically nothing but solving problems. Problems are  often solved in systematic ways using theory and experiments combined. Most engineering problems involved mathematical modeling of the system to ease whole process of solving. This mathematical modeling often ends up having a lot of  big, scary equations that needed to be solved. Traditionally these equations were solved using pen , pencils and brain alone. So it was lengthy and error prone process. For example, in past if some company needed to install grid station or  transmission lines, all the analysis was done with hands. It was a tedious, time consuming and error prone process. But with the advent of computer, whole process has become very easy. Now a lot of simulation programs are available that can help us develop our systems without even understanding underlying theories and mathematical modeling. These software first convert data into mathematical models and then solve them using different iterative and other Numerical techniques.
In computational techniques, mathematical problems are first converted into   computer's language and then solved. One such way is iterative methods. In iterative methods, a problem is solved with some  specific computer based formulas repeatedly un till answer in specific range of error comes. In these methods,  some rough guesses are made and then by the help of algorithms, problems are solved  iteratively until  error is within range. Although these methods don't give 100% exact answers, but still they are used. As in mathematical modeling , answer with some errors can be used.
We have developed some computational methods to solve non- linear equations in MATLAB. In following paragraphs, we tried to compare them with different parameters.
First equation

f(x) = e-x - x
Bracketing methods
Bracketing methods are solved with two guesses such that root of the equation lines in between these two methods. In these methods convergence is assured but they take more time and iterations to solve equations.

This is one such example where f(x) is a function while blue dots are initial guess and black dot is root of the function.
1) Bisection
It is also called incremental search as in each iteration, interval is halved.
A simple formula is used in this case.
Xnew=(x0+x1)/2




See how error is first decreasing very fast and then speed becomes slow and ultimately it becomes constant.
2) False Position Method
This method is also bracketing but its algorithm is different. It joins f(xlower) and f(upper ) with straight line. Then this line's intersection with x axis is located and this is used as new guess untill error becomes very small.
Formula for this method is

This method is much improved w.r.t. to Bisection. It uses less number of iterations and less time. So it converges more rapidly.


3)Modified False Method
This method is also identical to False position, In fact it is modified version of False position. Only modification made here is that if same side of interval is used more than once, then value of that function is used by dividing 2 to power number of times same interval is used.  It should converge faster than False position.


Open Methods:
Close methods are more accurate , they require only one  guess and mostly requires less time(Not true always). One big advantage of this method is that we can use almost any guess although a more rough guess will make it harder and slower to find solution.
It may or may not converge. So these methods can't be used for any equations.
4) Fixed Point Iteration
This is simples method of all these. In this method equation is rearranged and one x is taken out then value is substituted and iterations are performed.  So for a function f(x) , we use x=g(x) and initial guess is substituted.  This method is simplest but also slowest. It requires more number of iterations then any of the following. Time required for this method greatly depends upon function.

5)  Secant Method                                
Secant method is like false position method but it don't requires  close interval.  It actually uses Newton Raphson method with derivation's approximation as follows

Formula for this method is as follows

This method is fast like Newton Raphson but requires much less time as derivation is a big problem to evaluate in computers. Note that it uses much less iterations and time compared to other methods describes so far.


6) Improved Secant Method
It is a improved version of secant method. Small perturbation  change is used in this method. as follows





Note that it requires less time and no of iterations.


7) Newton Raphson
In this method, a tangent is drawn from the point of initial guess and extended to x-axis. Intersection with x-axis provides next guess and this way it is solved iteratively.
Formula for this method is as follows





Note that it requires much more time than any other method.
Conclusion:
Time of Execution:
For time point of view Modified Secant method is best and Newton Rapshon is worst.


Number of iterations used
On this base Newton Raphson and Modified Secant methods are best and Fixed point iteration is worst as expected. It is often observed that newton Raphson requires less no of iterations but more time.

On average, Modified Secant Method is best among all.

References:

Applied Numerical  Methods with MATLAB for Engineers 3ed by

Steven C. Chapra

1 comment:

Thank you for your response.