电脑
Mathematica
考虑第一题,看看Mathematica怎么暴力求出方程的三个解:解 = Solve[x^3 + 4 x^2 + 5 x - 8 == 0, x] // Values // FlattenMathematica确实可以算出方程的解。
然而,最后的结果会靠谱吗?FullSimplify[Times @@ ((x - 2/(# + 2)) & /@ 解)] // Expand得到的答案是:5x^3-x^2+4x-4=0不管结论是否靠谱,但考虑这个过程的数值计算,就是很费时间的。
我们再从另一种角度,来解答这个问题。不要去解方程,注意到所求的新方程的三个解的形式是一样的,因此可以作一个简单的变量代换:
第二题,可以把1/α^5+1/β^5+1/γ^5用α+β+γ、αβ+βγ+αγ、αβγ表示出来,当然,这一点手工计算仍旧很难。但是我目前没找到更好的方法。
第二题还有一个更暴力的方法,就是直接解方程:jie = Solve[4 x^3 + 3 x^2 + 2 x + 1 == 0, x] // Values // Flatten;1/#^5 & /@ jie // Total // FullSimplify
第三题的解法,和第二题差不多,没找到简单解法:Eliminate[{f == (u - v) (v - w) (w - u), a == u + v + w, b == u v + u w + v w, c == u v w}, {u, v, w}]
第四题,我们可以和第一题进行对比观察:
第五题和二、三题的方法相似:Eliminate[{f == u/v + v/w + w/u, -2 == u + v + w, 3 == u v + u w + v w, -4 == u v w}, {u, v, w}]
第六题比较特殊:Collect[(x^4 + a x^3 + b x^2 + c x + d /. {x -> 1 + Sqrt[2] + Sqrt[3]} // Expand) /. {Sqrt[2] -> x, Sqrt[3] -> y, Sqrt[6] -> z}, {x, y, z}] /. {x -> Sqrt[2], y -> Sqrt[3], z -> Sqrt[6]}
上面好多步骤,都是使用了“韦达定理”。
Mathematica的确可以减少人工计算的难度。
大家想一下,第二题和第五题有什么简单的方法吗?