peroxide 0.24.0

Rust comprehensive scientific computation library contains linear algebra, numerical analysis, statistics and machine learning tools with farmiliar syntax
Documentation
extern crate peroxide;
use peroxide::*;
use Number::D;

fn main() {
    let x = vec![D(dual(1f64, 1f64)), D(dual(2, 1))];
    jacobian(f, x.to_f64_vec()).print();
}

fn f(v: Vec<Number>) -> Vec<Number> {
    map(g, &v)
}

fn g(x: Number) -> Number {
    let d = x.to_dual();
    if d.value() < 2f64 {
        x.powi(2)
    } else {
        x.powi(3)
    }
}