Skip to content

割线法

Secant method

用最近两点的割线斜率近似导数,在无导数的一维求根中取得局部超线性收敛。

形式陈述

给定标量函数 f、两个不同初值 x0,x1、尺度化容差和最大迭代数,割线法在 f(xk)f(xk1) 时计算

xk+1=xkf(xk)xkxk1f(xk)f(xk1).

分式中的比值是用两点割线斜率代替 f(xk) 后得到的 Newton 步。初始化需要两次函数求值,此后若缓存旧值,每步只需一次新的 f 求值、常数次标量运算和两个点的存储。算法输出近似根,或在分母过小、出现非有限值、越出定义域或超过迭代上限时报告失败。

x 是简单根,f 在其邻域二次连续可微,且两个初值都足够接近根,则局部误差满足

ek+1f(x)2f(x)ekek1.

由此得到超线性收敛阶

φ=1+521.618.

它低于 Newton 法的二次阶,却省去显式导数求值。这个结论是简单根附近的渐近性质,不保证远初值收敛,也不保证每一步都缩小残差或保持根括区间。

停止规则应同时检查尺度化残差与更新量,并对分母作相对尺度判断。若 |f(xk)f(xk1)| 与两个函数值的尺度相比过小,割线近乎水平,下一步可能被放大到毫无意义的位置;简单加一个与问题尺度无关的固定 epsilon 不能成为通用处理。

直觉

Newton 法询问曲线在一个点的瞬时斜率,割线法则用最近两个观测点估计这条切线。迭代靠近光滑简单根后,两点也彼此靠近,割线斜率逐渐逼近真实导数,所以速度超过线性;但导数信息来自历史差分,改善得没有 Newton 的精确线性化快,于是出现黄金比例阶。

“使用两个异号点”并不是割线法的不变量。标准割线法每次丢掉最旧点,保留最近两次迭代,无论它们是否继续夹住根;假位法则保留异号括区间。两者画出的都是割线,却拥有不同的安全结构,不能只按公式外形混同。

例子与边界

f(x)=x22x0=1,x1=2。连续几步为

x2=43,x3=75,x4=5841,,

并趋于 2。与 Newton 法相比,它不需要计算 2x,但要记住两个点,且在局部渐近区的误差下降慢于平方规律。这个取舍只有连同函数与导数的实际求值成本一起比较才有意义。

分母失效可以在很普通的问题中出现。对 f(x)=x21x0=2,x1=2,两端函数值同为 3,第一条割线水平,更新公式立即除以零;函数明明有两个根,错误来自初值提供不了斜率信息。若两个函数值只是非常接近而非相等,步长仍可能巨大。

含噪函数也会破坏理论图景。当 f(xk)f(xk1) 已与测量或内层求解噪声同量级时,差商主要反映噪声,不能继续期待 φ 阶。此时需要重新取点、改用带括区间的安全方法,或提高函数求值精度,而不是把异常大步解释为正常的超线性阶段。

推论与应用

割线法是一维求根中“用历史函数值换导数”的最小方法。它适合导数难求而函数求值较可靠的局部问题;若必须保证不丢失已有的异号区间,则应选择保括区间的方法或混合策略,而不是给标准割线法补上并不存在的不变量。

高维拟 Newton 方法也用更新的近似线性模型避免每步重算完整 Jacobian,但其对象、矩阵更新和收敛条件远比一维割线复杂。本页只处理标量两点公式,不把两类方法因“无精确导数”这一表面相似性合并。

参考资料
  • NIST Digital Library of Mathematical Functions, §3.8 Nonlinear Equations.
  • Richard L. Burden, J. Douglas Faires, and Annette M. Burden, Numerical Analysis, 10th ed., Cengage, 2016, secant and false-position methods.
  • J. M. Ortega and W. C. Rheinboldt, Iterative Solution of Nonlinear Equations in Several Variables, SIAM, 2000, local convergence analysis.