# rustnomial
This crate provides utilities for operating on polynomials, including:
- Parsing polynomials from strings, and creating strings from polynomials
- Math operations with polynomials
- Integration and derivation of polynomials
- Finding polynomial roots
# Examples
- Parsing polynomials from / to strings:
```rust
use std::str::FromStr;
use rustnomial::{GenericPolynomial, Polynomial};
fn main() {
let poly = Polynomial::<i32>::from_str("1+x^2-3+11x").unwrap();
// x^2 + 11x - 2
println!("{}", poly);
}
```
- Integration
```rust
use rustnomial::integral;
fn main() {
let poly = integral!(5., 2., 0.);
println!("{}", poly);
println!("{}", poly.eval(0., 1.));
}
```
- Derivation
```rust
use rustnomial::derivative;
fn main() {
let poly = derivative!(5., 2., 0.);
println!("{}", poly);
}
```
- Rootfinding
```rust
use rustnomial::{GenericPolynomial, Polynomial};
fn main() {
let poly = Polynomial::<f64>::new(vec![1., 2.]).pow(9) * Polynomial::new(vec![1., 3.]);
println!("{:?}", poly.roots());
}
```