多项式逆

时间:2011-04-05 06:51:35

标签: algorithm math solver inverse

我有一个五阶多项式:

y = ax 5 + bx 4 + cx 3 + dx 2 + ex + f

系数a-f是已知的,我需要计算给定y的x。我可以使用Newton-Raphson算法或类似算法,但如果可能的话,我更喜欢非迭代解决方案。

编辑:我想在发布我的问题之前我没有想到这一点。我的多项式系数是根据采样数据计算的,在这种特殊情况下只有一个根。当然,在一般情况下,当然可能有五个不同的根源。我想我也会将采样数据拟合成逆多项式,然后用它来计算y中的x。

3 个答案:

答案 0 :(得分:8)

找到多项式的根是困难和棘手的。获得稳定可靠的算法会让您头疼。牛顿+根去除似乎是一个好主意,但正确地使这项工作真的很痛苦。

一个明显的问题是根部移除的稳定性。另一个问题是复杂的根源。另一个难题是(数字上)多个根,你会失去很多精确度。

最先进的黑匣子算法是Jenkins-Traub。但是,它很难实现,因此您必须在某处找到(或支付)实现。

然而,如果您可以访问线性alebra包,那么简单,稳健,稳定且有效的方法是计算companion matrix的特征值。这就是例如。 GSL确实。

答案 1 :(得分:2)

J Trana已经回答了这个问题,但答案是你通常无法找到一个算法(这是使伽罗瓦闻名的数学结果)。

此外,如果这不是一个家庭作业问题,你可能不希望算法解决激进派中的问题,因为这在数字上会表现得很糟糕。

答案 2 :(得分:1)

Newton-Raphson只会给你一个解决方案。其中最多可以有5个用于五重奏。

如果你想要所有的解决方案 你需要将Newton-Raphson配对去除根或使用更健壮的东西。

一种常用方法是使用Sturm polynomials