2个版本
0.1.1 | 2023年9月21日 |
---|---|
0.1.0 | 2023年9月21日 |
#1094 in 数学
14KB
192 代码行
WrightOmega
这个库是对Lawrence, Corless和Jeffrey的wright.c
文件的重写,使用Rust编写。
Wright Omega函数定义为方程ω + log(ω) = z
的解。它是Lambert W函数的一个特例。
用法
该库可在crates.io上找到,可以通过将以下内容添加到您的Cargo.toml
文件中来将其包含到项目中
[dependencies]
wright_omega = "0.1.0"
示例
use wright_omega::wright_omega;
use wright_omega::Complex;
fn main() {
let z = Complex::new(0.0, 0.0);
let omega = wright_omega(z);
println!("Wright Omega of {} is {}", z, omega);
}
> 0+0i的Wright Omega是0.5671433+0i
功能
该库支持f32
和f64
类型。默认启用f32
功能。要使用f64
,请将以下内容添加到您的Cargo.toml
文件中
[dependencies]
wright_omega = { version = "0.1.0", features = ["f64"] }
其他实现
Scipy使用相同的实现用于Python。 Matlab也内置了实现。
参考文献
[1] Lawrence, Corless, and Jeffrey, “Algorithm 917: Complex Double-Precision Evaluation of the Wright Function.” ACM Transactions on Mathematical Software, 2012. DOI:10.1145/2168773.2168779.
依赖项
~270KB