Sidi's generalized secant method is a root-finding algorithm, that is, a numerical method for solving equations of the form                     f        (        x        )        =        0                 . The method was published by Avram Sidi.
The method is a generalization of the secant method. Like the secant method, it is an iterative method which requires one evaluation of                     f                 in each iteration and no derivatives of                     f                . The method can converge much faster though, with an order which approaches 2 provided that                     f                 satisfies the regularity conditions described below.
We call                     α                 the root of                     f                , that is,                     f        (        α        )        =        0                . Sidi's method is an iterative method which generates a sequence                     {                  x                      i                          }                 of approximations of                     α                . Starting with k + 1 initial approximations                               x                      1                          ,        …        ,                  x                      k            +            1                                  , the approximation                               x                      k            +            2                                   is calculated in the first iteration, the approximation                               x                      k            +            3                                   is calculated in the second iteration, etc. Each iteration takes as input the last k + 1 approximations and the value of                     f                 at those approximations. Hence the nth iteration takes as input the approximations                               x                      n                          ,        …        ,                  x                      n            +            k                                   and the values                     f        (                  x                      n                          )        ,        …        ,        f        (                  x                      n            +            k                          )                .
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 approximations                               x                      1                          ,        …        ,                  x                      k            +            1                                   one could carry out a few initializing iterations with a lower value of k.
The approximation                               x                      n            +            k            +            1                                   is calculated as follows in the nth iteration. A polynomial of interpolation                               p                      n            ,            k                          (        x        )                 of degree k is fitted to the k + 1 points                     (                  x                      n                          ,        f        (                  x                      n                          )        )        ,        …        (                  x                      n            +            k                          ,        f        (                  x                      n            +            k                          )        )                . With this polynomial, the next approximation                               x                      n            +            k            +            1                                   of                     α                 is calculated as
with                               p                      n            ,            k                    ′                (                  x                      n            +            k                          )                 the derivative of                               p                      n            ,            k                                   at                               x                      n            +            k                                  . Having calculated                               x                      n            +            k            +            1                                   one calculates                     f        (                  x                      n            +            k            +            1                          )                 and the algorithm can continue with the (n + 1)th iteration. Clearly, this method requires the function                     f                 to be evaluated only once per iteration; it requires no derivatives of                     f                .
The iterative cycle is stopped if an appropriate stop-criterion is met. Typically the criterion is that the last calculated approximation is close enough to the sought-after root                     α                .
To execute the algorithm effectively, Sidi's method calculates the interpolating polynomial                               p                      n            ,            k                          (        x        )                 in its Newton form.
Sidi showed that if the function                     f                 is (k + 1)-times continuously differentiable in an open interval                     I                 containing                     α                 (that is,                     f        ∈                  C                      k            +            1                          (        I        )                ),                     α                 is a simple root of                     f                 (that is,                               f          ′                (        α        )        ≠        0                ) and the initial approximations                               x                      1                          ,        …        ,                  x                      k            +            1                                   are chosen close enough to                     α                , then the sequence                     {                  x                      i                          }                 converges to                     α                , meaning that the following limit holds:                               lim                      n            →            ∞                                    x                      n                          =        α                .
Sidi furthermore showed that
                              lim                      n            →            ∞                                                                              x                                  n                  +                  1                                            −              α                                                      ∏                                  i                  =                  0                                                  k                                            (                              x                                  n                  −                  i                                            −              α              )                                      =        L        =                                            (              −              1                              )                                  k                  +                  1                                                                    (              k              +              1              )              !                                                                                          f                                  (                  k                  +                  1                  )                                            (              α              )                                                      f                ′                            (              α              )                                      ,                and that the sequence converges to                     α                 of order                               ψ                      k                                  , i.e.
                              lim                      n            →            ∞                                                                              |                                            x                                  n                  +                  1                                            −              α                              |                                                                    |                                            x                                  n                                            −              α                                                |                                                                      ψ                                          k                                                                                                          =                  |                L                              |                                (                          ψ                              k                                      −            1            )                          /                        k                                  The order of convergence                               ψ                      k                                   is the only positive root of the polynomial
                              s                      k            +            1                          −                  s                      k                          −                  s                      k            −            1                          −        ⋯        −        s        −        1                We have e.g.                               ψ                      1                          =        (        1        +                              5                          )                  /                2                 ≈ 1.6180,                               ψ                      2                                   ≈ 1.8393 and                               ψ                      3                                   ≈ 1.9276. The order approaches 2 from below if k becomes large:                               lim                      k            →            ∞                                    ψ                      k                          =        2                  
Sidi's method reduces to the secant method if we take k = 1. In this case the polynomial                               p                      n            ,            1                          (        x        )                 is the linear approximation of                     f                 around                     α                 which is used in the nth iteration of the secant method.
We can expect that the larger we choose k, the better                               p                      n            ,            k                          (        x        )                 is an approximation of                     f        (        x        )                 around                     x        =        α                . Also, the better                               p                      n            ,            k                    ′                (        x        )                 is an approximation of                               f          ′                (        x        )                 around                     x        =        α                . If we replace                               p                      n            ,            k                    ′                         with                               f          ′                         in (1) we obtain that the next approximation in each iteration is calculated as
This is the Newton–Raphson method. It starts off with a single approximation                               x                      1                                   so we can take k = 0 in (2). It does not require an interpolating polynomial but instead one has to evaluate the derivative                               f          ′                         in each iteration. Depending on the nature of                     f                 this may not be possible or practical.
Once the interpolating polynomial                               p                      n            ,            k                          (        x        )                 has been calculated, one can also calculate the next approximation                               x                      n            +            k            +            1                                   as a solution of                               p                      n            ,            k                          (        x        )        =        0                 instead of using (1). For k = 1 these two methods are identical: it is the secant method. For k = 2 this method is known as Muller's method. For k = 3 this approach involves finding the roots of a cubic function, which is unattractively complicated. This problem becomes worse for even larger values of k. An additional complication is that the equation                               p                      n            ,            k                          (        x        )        =        0                 will in general have multiple solutions and a prescription has to be given which of these solutions is the next approximation                               x                      n            +            k            +            1                                  . Muller does this for the case k = 2 but no such prescriptions appear to exist for k > 2.