|
|
| Line 1: |
Line 1: |
| '''Muller's method''' is a [[root-finding algorithm]], a [[numerical analysis|numerical]] method for solving equations of the form ''f''(''x'') = 0. It is first presented by [[David E. Muller]] in 1956. | | I'm Sima and I live in Villnachern. <br>I'm interested in Economics, Juggling and Norwegian art. I like to travel and reading fantasy.<br><br>Check out my blog post: [http://118.97.237.107/dinkop/index.php/icons/2013-12-18-00-51-07/item/64-layanan fifa 15 coin Hack] |
| | |
| Muller's method is based on the [[secant method]], which constructs at every iteration a line through two points on the graph of ''f''. Instead, Muller's method uses three points, constructs the [[parabola]] through these three points, and takes the intersection of the [[x-axis|''x''-axis]] with the parabola to be the next approximation.
| |
| | |
| ==Recurrence relation==
| |
| | |
| Muller's method is a recursive method which generates an approximation of the [[Zero of a function|root]] ξ of ''f'' at each iteration. Starting with three initial values ''x''<sub>0</sub>, ''x''<sub>-1</sub> and ''x''<sub>-2</sub>, the first iteration calculates the first approximation ''x''<sub>1</sub>, the second iteration calculates the second approximation ''x''<sub>2</sub>, the third iteration calculates the third approximation ''x''<sub>3</sub>, etc. Hence the ''k''<sup>''th''</sup> iteration generates approximation ''x''<sub>''k''</sub>. Each iteration takes as input the last three generated approximations and the value of ''f'' at these approximations. Hence the ''k''<sup>''th''</sup> iteration takes as input the values ''x''<sub>''k''-1</sub>, ''x''<sub>''k''-2</sub> and ''x''<sub>''k''-3</sub> and the function values ''f''(''x''<sub>''k''-1</sub>), ''f''(''x''<sub>''k''-2</sub>) and ''f''(''x''<sub>''k''-3</sub>). The approximation ''x''<sub>''k''</sub> is calculated as follows.
| |
| | |
| A parabola ''y''<sub>''k''</sub>(''x'') is constructed which goes through the three points (''x''<sub>''k''-1</sub>, ''f''(''x''<sub>''k''-1</sub>)), (''x''<sub>''k''-2</sub>, ''f''(''x''<sub>''k''-2</sub>)) and (''x''<sub>''k''-3</sub>, ''f''(''x''<sub>''k''-3</sub>)). When written in the [[Newton polynomial|Newton form]], ''y''<sub>''k''</sub>(''x'') is
| |
| :<math> y_k(x) = f(x_{k-1}) + (x-x_{k-1}) f[x_{k-1}, x_{k-2}] + (x-x_{k-1}) (x-x_{k-2}) f[x_{k-1}, x_{k-2}, x_{k-3}], \, </math>
| |
| where ''f''[''x''<sub>''k''-1</sub>, ''x''<sub>''k''-2</sub>] and ''f''[''x''<sub>''k''-1</sub>, ''x''<sub>''k''-2</sub>, ''x''<sub>''k''-3</sub>] denote [[divided differences]]. This can be rewritten as
| |
| :<math> y_k(x) = f(x_{k-1}) + w(x-x_{k-1}) + f[x_{k-1}, x_{k-2}, x_{k-3}] \, (x-x_{k-1})^2 \, </math>
| |
| where
| |
| :<math> w = f[x_{k-1},x_{k-2}] + f[x_{k-1},x_{k-3}] - f[x_{k-2},x_{k-3}]. \, </math>
| |
| The next iterate ''x''<sub>''k''</sub> is now given as the solution closest to ''x''<sub>''k''-1</sub> of the quadratic equation ''y''<sub>''k''</sub>(''x'') = 0. This yields the [[recurrence relation]]
| |
| :<math> x_{k} = x_{k-1} - \frac{2f(x_{k-1})}{w \pm \sqrt{w^2 - 4f(x_{k-1})f[x_{k-1}, x_{k-2}, x_{k-3}]}}. </math>
| |
| In this formula, the sign should be chosen such that the denominator is as large as possible in magnitude. We do not use the standard formula for solving [[quadratic equation]]s because that may lead to [[loss of significance]].
| |
| | |
| Note that ''x''<sub>''k''</sub> can be complex, even if the previous iterates were all real. This is in contrast with other root-finding algorithms like the [[secant method]], [[Sidi's generalized secant method]] or [[Newton's method]], whose iterates will remain real if one starts with real numbers. Having complex iterates can be an advantage (if one is looking for complex roots) or a disadvantage (if it is known that all roots are real), depending on the problem.
| |
| | |
| ==Speed of convergence==
| |
| | |
| The [[rate of convergence|order of convergence]] of Muller's method is approximately 1.84. This can be compared with 1.62 for the [[secant method]] and 2 for [[Newton's method]]. So, the secant method makes less progress per iteration than Muller's method and Newton's method makes more progress.
| |
| | |
| More precisely, if ξ denotes a single root of ''f'' (so ''f''(ξ) = 0 and ''f''<nowiki>'</nowiki>(ξ) ≠ 0), ''f'' is three times continuously differentiable, and the initial guesses ''x''<sub>0</sub>, ''x''<sub>1</sub>, and ''x''<sub>2</sub> are taken sufficiently close to ξ, then the iterates satisfy
| |
| :<math> \lim_{k\to\infty} \frac{|x_k-\xi|}{|x_{k-1}-\xi|^\mu} = \left| \frac{f'''(\xi)}{6f'(\xi)} \right|^{(\mu-1)/2}, </math> | |
| where μ ≈ 1.84 is the positive solution of <math> x^3 - x^2 - x - 1 = 0 </math>.
| |
| | |
| ==Generalizations and related methods==
| |
| | |
| Muller's method fits a parabola, i.e. a second-order [[polynomial]], to the last three obtained points ''f''(''x''<sub>''k''-1</sub>), ''f''(''x''<sub>''k''-2</sub>) and ''f''(''x''<sub>''k''-3</sub>) in each iteration. One can generalize this and fit a polynomial ''p''<sub>''k,m''</sub>(''x'') of [[Degree of a polynomial|degree]] ''m'' to the last ''m''+1 points in the ''k''<sup>''th''</sup> iteration. Our parabola ''y''<sub>''k''</sub> is written as ''p''<sub>''k'',2</sub> in this notation. The degree ''m'' must be 1 or larger. The next approximation ''x''<sub>''k''</sub> is now one of the roots of the ''p''<sub>''k,m''</sub>, i.e. one of the solutions of ''p''<sub>''k,m''</sub>(''x'')=0. Taking ''m''=1 we obtain the secant method whereas ''m''=2 gives Muller's method.
| |
| | |
| Muller calculated that the sequence {''x''<sub>''k''</sub>} generated this way converges to the root ξ with an order μ<sub>''m''</sub> where μ<sub>''m''</sub> is the positive solution of <math> x^{m+1} - x^m - x^{m-1} - \dots - x - 1 = 0 </math>.
| |
| | |
| The method is much more difficult though for ''m''>2 than it is for ''m''=1 or ''m''=2 because it is much harder to determine the roots of a polynomial of degree 3 or higher. Another problem is that there seems no prescription of which of the roots of ''p''<sub>''k,m''</sub> to pick as the next approximation ''x''<sub>''k''</sub> for ''m''>2.
| |
| | |
| These difficulties are overcome by [[Sidi's generalized secant method]] which also employs the polynomial ''p''<sub>''k,m''</sub>. Instead of trying to solve ''p''<sub>''k,m''</sub>(''x'')=0, the next approximation ''x''<sub>''k''</sub> is calculated with the aid of the derivative of ''p''<sub>''k,m''</sub> at ''x''<sub>''k''-1</sub> in this method.
| |
| | |
| ==References==
| |
| | |
| * Muller, David E., "A Method for Solving Algebraic Equations Using an Automatic Computer," ''Mathematical Tables and Other Aids to Computation'', 10 (1956), 208-215. {{JSTOR|2001916}}
| |
| * Atkinson, Kendall E. (1989). ''An Introduction to Numerical Analysis'', 2nd edition, Section 2.4. John Wiley & Sons, New York. ISBN 0-471-50023-2.
| |
| * Burden, R. L. and Faires, J. D. ''Numerical Analysis'', 4th edition, pages 77ff.
| |
| *{{Cite book | last1=Press | first1=WH | last2=Teukolsky | first2=SA | last3=Vetterling | first3=WT | last4=Flannery | first4=BP | year=2007 | title=Numerical Recipes: The Art of Scientific Computing | edition=3rd | publisher=Cambridge University Press | publication-place=New York | isbn=978-0-521-88068-8 | chapter=Section 9.5.2. Muller's Method | chapter-url=http://apps.nrbook.com/empanel/index.html#pg=466}}
| |
| | |
| ==External links==
| |
| *[http://math.fullerton.edu/mathews/n2003/MullersMethodMod.html Module for Muller's Method by John H. Mathews]
| |
| | |
| {{DEFAULTSORT:Mullers method}}
| |
| [[Category:Root-finding algorithms]]
| |
I'm Sima and I live in Villnachern.
I'm interested in Economics, Juggling and Norwegian art. I like to travel and reading fantasy.
Check out my blog post: fifa 15 coin Hack