peroxide-ad

Crates.ioperoxide-ad
lib.rsperoxide-ad
version0.3.0
sourcesrc
created_at2020-07-15 05:12:35.521869
updated_at2021-01-25 15:48:11.451481
descriptionProc macro for automatic differenitation of Peroxide
homepage
repositoryhttps://github.com/Axect/Peroxide
max_upload_size
id265333
size41,567
Tae-Geun Kim (Axect)

documentation

README

Peroxide-ad

Automatic differentiation toolbox for Peroxide

Usage

Modify your Cargo.toml as follows.

[dependencies]
peroxide = "0.30"

Useful macros

  • #[ad_function] macro generates {}_grad, {}_hess from Fn(f64) -> f64 automatically.
    • {}_grad : gradient of function {}
    • {}_hess : hessian of function {}
#[macro_use]
extern crate peroxide;
use peroxide::fuga::*;

fn main() {
    f(2f64).print();        // x^3     = 8
    f_grad(2f64).print();   // 3 * x^2 = 12
    f_hess(2f64).print();   // 6 * x   = 12
}

#[ad_function]              // generates f_grad, f_hess
fn f(x: f64) -> f64 {
    x.powi(3)               // x^3
}
Commit count: 1729

cargo fmt