Content deleted Content added
Mjpnijmeijer (talk | contribs) m Mjpnijmeijer moved page Sidi's method to Sidi's generalized secant method: The new name is more informative than "Sidi's method" |
Mjpnijmeijer (talk | contribs) Multiple additions and corrections based on comments received from Avram Sidi |
||
Line 1:
'''Sidi's generalized secant method''' is a [[root-finding algorithm]], that is, a [[numerical method]] for solving [[equations]] of the form <math>f(x)=0</math> . The method was published
by
Sidi, Avram, "Generalization Of The Secant Method For Nonlinear Equations", Applied Mathematics E-notes '''8''' (2008), 115–123, http://www.math.nthu.edu.tw/~amen/2008/070227-1.pdf
</ref><ref>
The home page of
</ref> ▼
The method is a generalization of the [[secant method]]. Like the secant method, it is an [[iterative method]] which requires one evaluation of <math>f</math> in each iteration and no [[Derivative|derivatives]] of <math>f</math>. The method can converge much faster though, with an [[Rate of convergence|order]] which approaches 2 provided that <math>f</math> satisfies the regularity conditions described below.
== Algorithm ==
We call <math>\alpha</math> the root of <math>f</math>, that is, <math>f(\alpha)=0</math>. Sidi's method is an [[iterative method]] which generates a [[sequence]] <math>\{ x_i \}</math> of
The number ''k'' must be 1 or larger: ''k'' = 1, 2, 3, .... It remains fixed during the execution of the algorithm. In order to obtain the starting
The
{{NumBlk|:|<math> x_{n+k+1} = x_{n+k} - \frac{f(x_{n+k})}{p_{n,k}'(x_{n+k})}</math>|{{EquationRef|1}}}}
with <math>p_{n,k}'(x_{n+k})</math> the derivative of <math>p_{n,k}</math> at <math>x_{n+k}</math>. Having calculated <math>x_{n+k+1}</math> one calculates <math>f(x_{n+k+1})</math> and the algorithm can continue with the (''n'' + 1)th iteration. Clearly, this method requires the function <math>f</math> to be evaluated only once per iteration; it requires no derivatives of <math>f</math>.
The iterative cycle is stopped if an appropriate stop-criterion is met. Typically the criterion is that the last calculated
To execute the algorithm effectively, Sidi's method calculates the interpolating polynomial <math>p_{n,k} (x)</math> in its [[Newton polynomial|Newton form]].
== Convergence ==
Sidi showed that if the function <math>f</math> is (''k'' + 1)-times [[Smooth function|continuously differentiable]] in an [[open interval]] <math>I</math> containing <math>\alpha</math> (that is, <math>f \in C^{k+1} (I)</math>), <math>\alpha</math> is a simple root of <math>f</math> (that is, <math>f'(\alpha) \neq 0</math>) and the initial
Sidi furthermore showed that
:<math> \
:<math> \lim\limits_{n \to \infty} \frac{|x_{n+1}-\alpha|}{|x_n-\alpha|^{\psi_k}} = |L|^{(\psi_k-1)/k} </math>
The order of convergence <math>\psi_k</math> is the [[Descartes's rule of signs|only positive root]] of the polynomial
:<math> s^{k+1} - s^k - s^{k-1} - \dots - s - 1 </math>
We have e.g. <math>\psi_1 = (1+\sqrt{5})/2</math> ≈ 1.6180, <math>\psi_2</math> ≈ 1.8393 and <math>\psi_3</math> ≈ 1.9276. The order approaches 2 from below if ''k'' becomes large: <math> \lim\limits_{k \to \infty} \psi_k = 2</math>
<ref name="traub">
Traub, J.F., "Iterative Methods for the Solution of Equations", Prentice Hall, Englewood Cliffs, N.J. (1964)
</ref>▼
<ref name="muller">
Muller, David E., "A Method for Solving Algebraic Equations Using an Automatic Computer
</ref>
▲<ref>
▲</ref>
== Related algorithms ==
Sidi's method reduces to the [[secant method]] if we take ''k'' = 1. In this case the polynomial <math>p_{n,1} (x)</math> is the linear approximation of <math>f</math> around <math>\alpha</math> which is used in the ''n''th iteration of the secant method.
We can expect that the larger we choose ''k'', the better <math>p_{n,k} (x)</math> is an approximation of <math>f(x)</math> around <math>x=\alpha</math>. Also, the better <math>p_{n,k}' (x)</math> is an approximation of <math>f'(x)</math> around <math>x=\alpha</math>. If we replace <math>p_{n,k}'</math> with <math>f'</math> in ({{EquationNote|1}}) we obtain that the next
{{NumBlk|:|<math> x_{n+k+1} = x_{n+k} - \frac{f(x_{n+k})}{f'(x_{n+k})} </math>|{{EquationRef|2}}}}
This is the [[Newton's method|Newton–Raphson method]]. It starts off with a single
Once the interpolating polynomial <math>p_{n,k} (x)</math> has been calculated, one can also calculate the next
== References ==
|