#science #simulation #numeric

无需 std root1d

一维根查找算法

7 个不稳定版本

0.4.0 2024 年 7 月 20 日
0.3.2 2023 年 12 月 23 日
0.3.1 2023 年 6 月 2 日
0.2.1 2023 年 5 月 8 日
0.1.0 2022 年 4 月 15 日

#176数学

Download history 2/week @ 2024-04-28 5/week @ 2024-05-05 2/week @ 2024-05-12 4/week @ 2024-05-19 23/week @ 2024-05-26 3/week @ 2024-06-02 8/week @ 2024-06-09 25/week @ 2024-06-16 11/week @ 2024-06-23 102/week @ 2024-07-14 37/week @ 2024-07-21 1/week @ 2024-07-28 9/week @ 2024-08-11

136 每月下载次数

GPL-2.0-or-later

86KB
1.5K SLoC

寻找单变量函数的根

此 crate 提供了在泛型类型 T 上查找函数 TT 根的算法。它对 Tf64f32 的情况很容易使用。激活特性 rug,还可以与 rug::Floatrug::Rational 一起使用。

使用方法

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(())
}

有关更多信息,请参阅最新版本的 文档

亮点

  • 高效且完全泛型代码。
  • 方便的接口,具有可选参数和默认终止标准。
  • 支持非拷贝类型(用于多精度数字),最小化临时值的创建。
  • 最先进的根查找算法(Toms748),只需对函数进行少量评估。
  • 在声明 #![no_std] 时使用 default-features = false 进行编译。

依赖项

~0–4MB
~79K SLoC