#dual #numbers #gradient #automatic-differentiation #autodifferentiate #hyperdual

dual_num

全功能的双重数值实现,具有将多元矢量函数自动微分到梯度的功能

10次发布

使用旧的Rust 2015

0.2.7 2019年4月3日
0.2.6 2019年3月1日
0.2.5 2019年2月4日
0.2.4 2019年1月28日
0.1.1 2017年6月5日

#22 in #dual

23 每月下载量

MIT 许可证

28KB
768 行代码(不含注释)

dual_num Build Status

全功能的双重数值实现,具有将多元矢量函数自动微分到梯度的功能。

用法

extern crate dual_num;

use dual_num::{Dual, Float, differentiate};

fn main() {
    // find partial derivative at x=4.0
    println!("{:.5}", differentiate(4.0f64, |x| {
        x.sqrt() + Dual::from_real(1.0)
    })); // 0.25000
}
先前的工作

依赖项

~4MB
~70K SLoC