什么时候应该开始将二次方程视为数值求根中的线性?

问题描述

我有一组二次系数 a、b 和 c,需要求解它们才能确定平面上两个图(比如抛物线和直线)的交点。

然而,我的问题是,当我的抛物线如此“伸展”以至于它开始表现得像一条围绕感兴趣区域的线时,似乎忽略了 a 系数,而是线性求解 b 和 c 效果很好。

我的问题是,你在什么时候决定线性求解二次方程?推而广之,你什么时候应该二次求解三次方程?

当然,二次方实际上有 2 个根,但是(从计算机的角度来看,出于所有强烈和目的)只有 1 个根。

编辑:

我在数学堆栈交换上为这个问题添加了更多细节,但我仍然觉得因为这与数值不稳定有关,所以我应该在这里问。这是数学问题,措辞略有不同:https://math.stackexchange.com/questions/4000135/quadratic-formula-fails-numerically-at-small-a-coefficients

解决方法

事实证明这个问题比我想象的更常见。相关答案已发布在我链接的数学线程中,但您也可以查看这篇相当简单的一页纸。 https://people.csail.mit.edu/bkph/articles/Quadratics.pdf

,

牛顿的想法是围绕三次方程的根的猜测 x 展开

0 = (x+h)^3 + a*(x+h)^2 + b*(x+h) + c
  = x^2+a*x^2+b*x+c + (3*x^2+2*a*x+b)*h + ...

并采用常数项和线性项来确定根的改进 h(在这种一般情况下,该方法仅在几十年后由 Raphson 和 Simpson 制定)。

Halley 在计算以他命名的彗星时,有一个想法,也采用泰勒展开式的二次项并使用二次解公式。转换平方根的泰勒展开或除法会产生现代哈雷方法、拉盖尔方法和 (Euler-)Chebyshev 方法,所有这些都是三阶的。在有多个解的公式中,选择给出最小 h 的那个。