为什么大家都默认了4个实根是不同的。。。
当然,我们不妨先看这个方程有几个不等的实根。这个问题已经有通用解法了,就是所谓Sturm定理,对于任意的非零次的实系数多项式,可以判断它在一个(边界函数值非0的)闭区间上有几个不同的实根。
同时实系数多项式的实根都是有界的,事实上,任何实根的绝对值均不超过绝对值最大的系数的绝对值比上首项绝对值的商再加一。因此我们可以轻易选出一个合适Sturm定理的闭区间来。
至于Sturm定理的细节,可以表述如下:将上述多项式函数与其导数做辗转相除法,唯一区别在于带余除法所得余式需要反号后代入后续的带余除法。如此,可以得到一个多项式序列,称为标准序列。我们定义标准序列在任一点c的变号数(序列中下一项相比上一项符号改变的次数)是V(c),则在区间[a,b]上不同的实根数是V(a)-V(b)。
同时,在我们上述的Sturm定理计算的基础上还可以容易地得出原多项式的重根数。事实上,我们所作的调整的辗转相除法与常规的做法只有符号有区别,从而在相伴的意义下是等效的。因此标准序列的最后一项就是原多项式与其导数的一个最大公因式,这个公因式就指示了原多项式的重根情况。事实上,如果这个多项式是个非零常数,表明原多项式没有重根;否则其每个根都是原多项式的重根,同时重根的次数相比原多项式减少1。