#多项式 #代数 # #rational64

polynomial-ring

多项式实现

20 个版本

0.5.0 2022年11月26日
0.4.7 2022年7月18日
0.4.4 2022年6月25日
0.4.3 2022年2月13日
0.1.1 2020年4月5日

数学 中排名 983

Download history 78/week @ 2024-04-04 87/week @ 2024-04-11 73/week @ 2024-04-18 81/week @ 2024-04-25 74/week @ 2024-05-02 85/week @ 2024-05-09 81/week @ 2024-05-16 89/week @ 2024-05-23 91/week @ 2024-05-30 85/week @ 2024-06-06 84/week @ 2024-06-13 85/week @ 2024-06-20 71/week @ 2024-06-27 63/week @ 2024-07-04 77/week @ 2024-07-11 71/week @ 2024-07-18

每月下载量 294
2 个 包中使用

AGPL-3.0-or-later

24KB
514

多项式环

多项式实现。

use num::Rational64;
use polynomial_ring::Polynomial;

let f = Polynomial::new(vec![3, 1, 4, 1, 5].into_iter().map(|x| Rational64::from_integer(x)).collect());
let g = Polynomial::new(vec![2, 7, 1].into_iter().map(|x| Rational64::from_integer(x)).collect());
let mut r = f.clone();
let q = r.division(&g);
assert_eq!(f, q * g + r);
let f = Polynomial::new(vec![3, 1, 4, 1, 5].into_iter().map(|x| rug::Rational::from(x)).collect());
let g = Polynomial::new(vec![2, 7, 1].into_iter().map(|x| rug::Rational::from(x)).collect());
let mut r = f.clone();
let q = r.division(&g);
assert_eq!(f, q * g + r);

为多项式实现了 AddSubMulDivRem 特质。多项式还支持计算导数、素平方、伪除法和结果式。

许可证

AGPL-3.0-or-later

依赖项

~1.5MB
~40K SLoC