Skip to content

Chris00/rust-root1d

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

127 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Find roots of functions of one variable

This crate provides algorithms over a generic type T to find roots of functions TT. 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 with default-features = false.

About

One dimensional root finding algorithms

Resources

Stars

Watchers

Forks

Packages

No packages published