Maxima 求解 returns 无解

Maxima solve returns no solutions

我定义了这样一个函数:

f(x):=(4*x^4+7*x^3+(-3)*x)/(2*x^2+5)

然后像这样将导数赋值给 df:

df(x):=''(diff(f(x), x))

然后 Maxima 将其打印为计算出的导数:

df(x):=(16*x^3+21*x^2-3)/(2*x^2+5)-(4*x*(4*x^4+7*x^3-3*x))/(2*x^2+5)^2

然后我尝试求解 df(x)=0 的导数以找到 f 的驻点:

solve(df(x)=0, x);

但是 Maxima 给了我这个,而不是解决方案:

[0=16*x^5+14*x^4+80*x^3+111*x^2-15]

这表明没有解决方案。但是如果我绘制函数 df,它会穿过 x 轴 3 次。很明显有 3 个点 df(x)=0。为什么千里马找不到他们?我做错了什么吗?

df(x) 是五次(即 5 次)多项式,因此它可能没有根式的解。有可解的五次方程,尽管我怀疑 Maxima 无法确定五次方程是否可解。有关五次方程的一般理论的更多信息,请查看 https://en.wikipedia.org/wiki/Quintic_function#Finding_roots_of_a_quintic_equation .

我认为一种可行的方法是寻找数值近似值。看一下 Maxima 函数 realrootsallroots.