#root #polynomial #real #find #milliseconds #huge

bin+lib polynomial-roots

以毫秒级速度找到巨大多项式的实根

2 个版本 (1 个稳定版)

1.0.0 2024年1月4日
0.1.0 2023年1月6日

#420数学

MIT 许可协议

17KB
372

polynomial-roots

以毫秒级速度找到巨大多项式的实根

如何编译?

cargo build --release

如何使用?

系数按升序排列,即:$x^0 + x^1 + x^2 + x^3 + \cdots$
系数以空格分隔传递,因此要解决多项式 $3 - 9x + x^3$,需要按以下方式运行程序

$ cargo install polynomial-roots
$ polynomial-roots
3 -9 0 1
{ -3.154523; 0.33760893; 2.816914; }

(注意:不要忘记零系数)

它如何工作?

使用线性公式($\dfrac{-b}{a}$)、二次公式($\dfrac{-b \pm \sqrt{b^2 - 4 a c}}{2 a}$)或 弦截法柯西界 上找到根。它可以解决任何次数的多项式。

我没有得到所有的根,我该怎么办?

如果你没有得到所有的根,你应该修改文件 src/constants.rs 中的常量。你可以减少 PARTITION_SIZE 并增加 ITERATIONS。这将使程序变慢,但经过适当的调整,它可以解决任何多项式。

没有运行时依赖