[][src]Function peroxide::numerical::utils::jacobian_real

pub fn jacobian_real<F, T>(f: Box<F>, x: &Vec<T>) -> Matrix where
    T: Real,
    F: Fn(&Vec<Dual>) -> Vec<Dual>, 

Jacobian Matrix for Real input

Description

: Exact jacobian matrix using Automatic Differenitation

Type

(Box, &Vec) -> Matrix where F: Fn(&Vec) -> Vec, T: Real

Examples

#[macro_use]
extern crate peroxide;
use peroxide::fuga::*;

fn main() {
    let x = c!(1, 1);
    let j = jacobian_real(Box::new(f), &x);
    j.print();

    //      c[0] c[1]
    // r[0]    1    1
    // r[1]   -1    2
}

fn f(xs: &Vec<Dual>) -> Vec<Dual> {
    let x = xs[0];
    let y = xs[1];

    vec![
       x - y,
       x + 2.*y,
   ]
}