8 releases
| 0.4.1 | Mar 1, 2025 |
|---|---|
| 0.4.0 | Jul 20, 2024 |
| 0.3.2 | Dec 23, 2023 |
| 0.3.1 | Jun 2, 2023 |
| 0.1.0 | Apr 15, 2022 |
#402 in Math
31 downloads per month
86KB
1.5K
SLoC
Find roots of functions of one variable
This crate provides algorithms over a generic type T to find roots
of functions T → T. It is readily usable for T being f64 and
f32. Activating the feature rug, one can also use it with
rug::Float and rug::Rational.
Usage
use root1d::toms748;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let root = toms748(|x| x*x - 2., 0., 2.).rtol(1e-10).root()?;
println!("root: {}", root);
Ok(())
}
For more information, consult the documentation of the latest release.
Highlights
- Efficient & fully generic code.
- Convenient interface with optional arguments and default termination criteria.
- Support for non-copy types (for multi-precision numbers) minimizing the creation of temporary values.
- State of the art root finding algorithm (Toms748) requiring only few evaluations of the function.
- Compile with
#![no_std]when declared withdefault-features = false.
Dependencies
~0–4MB
~81K SLoC