#nrf #root #newton #rootfinder

newton_rootfinder

Newton based methods for root finding

8 breaking releases

0.10.0 Sep 28, 2022
0.9.1 Nov 14, 2021
0.8.0 Jul 25, 2021
0.6.0 Aug 24, 2020
0.5.0 Jun 15, 2020

#275 in Science

Download history 21/week @ 2023-11-20 113/week @ 2023-11-27 120/week @ 2023-12-04 165/week @ 2023-12-11 153/week @ 2023-12-18 58/week @ 2024-01-01 76/week @ 2024-01-08 67/week @ 2024-01-15 145/week @ 2024-01-22 97/week @ 2024-01-29 100/week @ 2024-02-05 165/week @ 2024-02-12 101/week @ 2024-02-19 172/week @ 2024-02-26 185/week @ 2024-03-04

625 downloads per month

MIT/Apache

235KB
4K SLoC

newton_rootfinder

crates.io Build Status

newton_rootfinder is a scientific computing rust crate to solve nonlinear equation systems thanks to rootfinding methods.

Focus of the crate

This crate implements Newton's method and other derived methods.

To see a visualization of this method, you can watch this video: Newton's fractal

This crate provides methods applicable for n-dimensional problems.

It provides several parametrization options and a simulation log to monitor the resolution process.

Out of scope

This crate does NOT provide a solver for nonlinear differential equations.

This crate does NOT provide a specific solver for one dimensional problems.

Documentation

Check the documentation on doc.rs

Comparison with other rust crates

For the comparison with other crates that implements several fonctionalities, the module of those crate has been explicited.

Note: Crates may have evolved since this comparison was established.

If you feel that this comparison needs an update, don't hesite to open an issue or to do a pull request !

N-dimensional solver

The following crates are providing solvers based on Newton's method for n-dimensional systems.

newton_rootfinder aims to be the reference crate for n-dimensional rootfinding algorithms and is focused only on that topic.

crate version Advanced
Parametrization
Simulation
Log
Other iterative
algorithms
newton_rootfinder 0.10.0 ✔️ ✔️ ✔️
peroxide::numerical::newton 0.31.7

bacon_sci::roots (0.13.1) also implements n-dimensional methods, but only for polynomials.

1-dimensional solver

If you are looking crates for one dimensional solver, newton_rootfinder is not the right one for you, but the rust ecosystem has several options :

crate version Newton-Raphson Other Iterative methods Analytical methods Error handling
newton-raphson 0.1.0 ✔️
nrfind 1.0.3 ✔️ ✔️
rootfind 0.7.0 ✔️ ✔️ ✔️
roots 0.0.7 ✔️ ✔️ ✔️ ✔️
bacon_sci 0.13.1 ✔️ ✔️ ✔️

Contribution

Check the CONTRIBUTE.md file, help is always welcome !

License

newton_rootfinder is dual licensed, you can choose to use it with either:

Dependencies

~3.5MB
~66K SLoC