polynomial-ring

Crates.iopolynomial-ring
lib.rspolynomial-ring
version0.5.0
sourcesrc
created_at2020-04-05 04:54:02.289392
updated_at2022-11-26 15:09:12.314734
descriptionA polynomial implementation
homepage
repositoryhttps://gitlab.com/Toru3/polynomial-ring
max_upload_size
id226493
size36,888
(Toru3)

documentation

https://docs.rs/polynomial-ring/

README

Polynomial Ring

A polynomial implementation.

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);

The Add, Sub, Mul, Div, and Rem traits are implemented for polynomials. Polynomials also support computing derivative, square free, pseudo division, and resultant.

Licence

AGPL-3.0-or-later

Commit count: 83

cargo fmt