Steffensen 方法的推导及其二阶收敛的证明

Steffensen 方法的推导

由于 Steffensen 方法是由弦截法改造来的,所以,这里先给出弦截法的迭代公式

\[ x_{k + 1} = x_k - \frac{x_k - x_{k - 1}}{f(x_k) - f(x_{k - 1})} f(x_k), \quad k = 1, 2,... \ .\]

弦截法的定义及推导比较简单,这里不再赘述,然后我们来看如何将弦截法改造成 Steffensen 方法:若弦截法产生的迭代序列 \(\{ x_k \}\) 充分接近于精确解 \(x^*\),则 \(x_k - x_{k - 1}\)\(f(x_k)\) 均充分接近于零。因此,我们可以近似地置 \(x_k - x_{k - 1} \approx f(x_k)\),然后将弦截法迭代公式中的 \(x_{k - 1}\) 给代换掉,就得到了 Steffensen 方法

\[x_{k + 1} = x_k - \frac{f^2(x_k)}{f(x_k) - f(x_k - f(x_k))}, \quad k = 1, 2,... \ .\]

证明 Steffensen 方法的二阶收敛性

给定条件:设 \(f(x) = 0\) 有根 \(x_*\),其中 \(f(x)\)\(x^*\) 的某邻域 \(S(x^*, \delta)\) 内二阶连续可微,且 \(f^{'} (x) \neq 0\).

证明:

由 Steffensen 迭代公式,有

\[\varphi(x) = x - \frac{f(x)}{f(x) - f(x - f(x))}\]

\(f(x - f(x))\) 进行泰勒展开,得

\[\displaystyle f(x - f(x)) = f(x) - f^{'}(x)f(x) + \frac{1}{2}f^{''}(\xi)f^{2}(x) ,\]

其中,\(\xi\)\(x\)\(x - f(x)\) 之间的一个值。

于是,有

\[g(x) = \frac{f(x) - f(x - f(x))}{f(x)} = \frac{f^{'}(x)f(x) - \frac{1}{2}f^{''}f^{2}(x)}{f(x)} = f^{'}(x) - \frac{1}{2} f^{''}(\xi) f(x) .\]

进而,

\[\varphi (x) = x - \frac{f^{2} (x)}{f(x) - f(x - f(x))} = x - \frac{f(x)}{f^{'} (x) - \frac{1}{2} f^{''} (\xi) f(x)}.\]

因此,

\[\frac{\varphi(x) - \varphi(x^*)}{x - x^*} = \frac{x - \frac{f(x)}{f^{'} (x) - \frac{1}{2} f^{''} (\xi) f(x)} - x^*}{x - x^*} = \frac{x - x^* - \frac{f(x)}{f^{'} (x) - \frac{1}{2} f^{''} (\xi) f(x)}}{x - x^*} = 1 - \frac{f(x) - f(x^*)}{x - x^*} \frac{1}{f^{'} (x) - \frac{1}{2} f^{''} (\xi) f(x)}\]

所以,

\[\varphi^{'} (x^*) = \lim_{x \to x^*} \frac{\varphi(x) - \varphi(x^*)}{x - x^*} = 1 - f^{'} (x^*) \frac{1}{f^{'} (x^*)} = 0.\]

因为 \(f^{'}(x^*) \neq 0\),所以,Steffensen 方法至少是二阶收敛的。

注意,Steffensen 方法是严格二阶收敛的,但是,证明这个所需的知识不在学习范围内,暂时不作证明。

按:本文给出的 Steffensen 方法是华科的计算方法课本上的。网上还有其他的形式,在符号上略有区别,但是证明方法相同,而且,英文的证明在网上比较多。


版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!