我们一直在使用GSL来求解多项式。但是,我们希望使用任意精度来求解多项式。我查看了GMP和Boost多精度库,但是,我找不到任何用浮点系数求解多项式的例程。
是否存在任何免费和开源的库,用于求解具有任意精度或非常高精度的多项式(小数点后> 200个位置)?
是否可以使用GSL多项式求解程序,数据类型的变化是GMP任意精度的变化?
使用GMP任意精度数据类型之一,使用标准算法编写多项式求解器是否容易?
如果不清楚,请随时发表评论。
答案 0 :(得分:1)
如果你知道一些解决多项式方程的算法(并且你会在许多教科书中找到它们),你可以调整和编码它以使用GMP。
由于GMP的常规operator +
等C++ class interface,您可以复制并过去一些现有的C代码,然后将其调整为GMP。
答案 1 :(得分:1)
MPSolve提供了一个库,用于使用多精度求解多项式。在内部,它使用GMP。
可以观察到以下情况:
/dev/random
播种。这会导致解决方案在后续运行中运行缓慢的问题,因为在未来运行开始之前生成的entropy不够。这可以通过用标准伪随机生成器替换它来绕过。Jenkins-Traub Algorithm提供使用GMP和MPFR的包装器,这可能非常方便使用。