You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

在特定考量下简化繁琐的Sturm方法

在特定考量下简化繁琐的Sturm方法

嘿,我来帮你把这个点掰碎了讲清楚——核心其实就绕着**$f_s(x)$没有实根**这一特性展开:

首先回忆下Sturm序列的构造逻辑:我们从原函数$f_0(x)=f(x)$、导数$f_1(x)=f'(x)$开始,每一步用前一个函数除更前一个函数,取余数的负数作为下一个函数,也就是$f_{k+1}(x) = -\text{rem}(f_{k-1}(x), f_k(x))$,直到出现零函数为止。

现在当我们得到$f_s(x)$所有根都是复根时,意味着一件事:$f_s(x)$在整个实数轴上的符号永远不变——要么恒正,要么恒负。这是实系数多项式的基本性质:复根一定共轭成对出现,没有实根的话,多项式的值不可能在实数范围内变号。

接下来要理解为什么不需要继续构造序列,以及后面的项不会影响符号变化数:

  • 符号变化数的改变只发生在序列中函数的实根处
    根据Sturm定理的核心逻辑,当我们把$x$从$a$移动到$b$时,只有当$x$经过某个$f_i(x)$的实根时,整个序列的符号变化数才会改变。而$f_s(x)$没有实根,所以它的符号永远不会变,自然不会成为符号变化数改变的触发点。

  • 后续构造的函数不会引入有效的符号变化改变
    假设我们硬要继续构造$f_{s+1}(x)$,它是$f_{s-1}(x)$除以$f_s(x)$的余数取负。对于$f_{s+1}(x)$的任何实根$r$:

    1. 首先,$f_s(r) \neq 0$(因为$f_s$没有实根);
    2. 其次,根据辗转相除的关系,$f_{s-1}(r) = Q(r)f_s(r) - f_{s+1}(r)$,而$f_{s+1}(r)=0$,所以$f_{s-1}(r)=Q(r)f_s(r) \neq 0$,也就是说$r$不是$f_{s-1}(x)$的根。
      当$x$经过$r$时,只有$f_{s+1}(x)$的符号会改变,但$f_{s-1}(x)$和$f_s(x)$的符号都保持不变。这时候$f_s(x)$和$f_{s+1}(x)$之间的符号变化数会改变1,但这些后续函数的实根都不是原函数$f(x)$的根,所以它们不会影响我们统计$f(x)$实根时需要的符号变化数差值。
  • 现有序列已经足够定位实根
    既然$f_s(x)$符号恒定,那么从$f_0(x)$到$f_s(x)$的序列,在任意实数$x$处的符号变化数,和完整序列(构造到零函数为止)的符号变化数,对于统计$f(x)$实根的目的来说是完全等价的——因为后续项不会带来任何影响最终差值的变化。我们只需要用这个截断的序列,就能计算任意区间两端的符号变化数之差,从而确定区间内实根的个数,完成定位。

简单说就是:$f_s(x)$像一个“稳定锚”,它的符号永远不变,后面的函数再怎么加,都不会动摇这个锚带来的稳定性,自然也不会影响我们用Sturm方法统计实根的结果。

备注:内容来源于stack exchange,提问作者Arthur

火山引擎 最新活动