Content deleted Content added
mNo edit summary |
Jitse Niesen (talk | contribs) revert - one step of secant method improves solution by factor 1.6, so two steps improve it by 1.6^2 = 2.6 (approximately); feel free to clarify this if necessary |
||
Line 14:
The function <math>g</math> is the average slope of the function ƒ between the last sequence point <math>(x,y)=( x_n,\ f(x_n) )</math> and the auxiliary point <math>(x,y)=( x_n + h,\ f(x_n + h) )</math>, with the step <math>h=f(x_n)\ </math> . It is only for the purpose of finding this auxiliary point that the value of the function <math>f</math> must be an adequate correction to get closer to its own solution. For all other parts of the calculation, Steffensen's method only requires the function <math>f</math> to be continuous, and to actually have a nearby solution. Several modest modifications of the step <math>h</math> in the slope calculation <math>g</math> exist to accommodate functions <math>f</math> that do not quite meet this requirement.
The main advantage of Steffensen's method is that it can find the roots of an equation <math>f</math> just as "[[quadratic convergence|quickly]]" as [[Newton's method]] but the formula does not require a separate function for the derivative, so it can be programmed for any generic function. In this case ''quickly'' means that the number of correct digits in the answer doubles with each step. The cost for the quick convergence is the double function evaluation: both <math>f(x_n)</math> and <math>f(x_n + f(x_n))</math> must be calculated, which might be time-consuming if <math>f</math> is a complicated function. For comparison, the [[secant method]] needs only one function evaluation per step, so allowing for two function evaluations the secant method can do two steps and two steps of the secant method increase the number of correct digits by a factor
Similar to [[Newton's method]] and most other quadratically convergent methods, the crucial weakness with the method is the choice of the starting value <math>x_0</math> . If the value of <math>x_0</math> is not "close enough" to the actual solution, the method will fail and the sequence of values <math>x_0, x_1, x_2, x_3,\dots</math> will either flip flop between two extremes, or diverge to infinity (possibly both!).
|