如何在C ++中求解五次多项式

时间:2012-09-30 10:02:23

标签: c++ polynomial-math

我有一个五次函数(五次多项式),我想用C ++解决它。 是否有可以使用的实现或数学库才能继续?

3 个答案:

答案 0 :(得分:4)

Boost有这个。看看这里:

http://www.boost.org/doc/libs/1_51_0/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/roots2.html http://www.boost.org/doc/libs/1_51_0/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/polynomials.html

  

描述

     

这些函数在不需要的情况下解决了某些函数f(x)的根   对于f(x)的导数。这里使用TOMS的功能   算法748渐近地是已知的最有效的,并且具有   被证明是某些类型的平滑函数的最佳选择。

     

或者,有一个简单的二分程序可能很有用   在某些情况下,或者在缩小范围内   在调用更高级的之前,在包含根的范围内   算法

不幸的是,这些库不是初学者友好的,我还没有找到如何使用它们的示例。现在回答 as as is 。现在,看看这里 http://programmingexamples.net/wiki/CPP/Boost/Math/Tools/TOMS748

你应该能够插入一个boost多项式而不是t。

答案 1 :(得分:4)

  

我有一个五次函数(5度多项式),我想用C ++解决它。

这里有一个问题,一个相当着名的问题。对二次方程有一个简单的解决方案。立方方程式更加困难。解析它们的一种方法是通过Cardano的方法。四次方程式更加严格,但仍然可以通过分析解决。

这就是结束的地方。 没有五阶多项式方程(或更高)的根的公式,可以用多项式的系数来表示,只使用标准的代数运算。整个数学分支,伽罗瓦理论源于其中一个证据,即不存在针对五行语的通用分析解决方案。

这意味着您将不得不求助于数字根寻找技术。

答案 2 :(得分:3)