Function num_dual::second_partial_derivative
source · pub fn second_partial_derivative<G, T: DualNum<F>, F>(
g: G,
x: T,
y: T
) -> (T, T, T, T)where
G: FnOnce(HyperDual<T, F>, HyperDual<T, F>) -> HyperDual<T, F>,Expand description
Calculate second partial derivatives with respect to scalars.
let fun = |x: HyperDual64, y: HyperDual64| (x.powi(2) + y.powi(2)).sqrt();
let (f, dfdx, dfdy, d2fdxdy) = second_partial_derivative(fun, 4.0, 3.0);
assert_eq!(f, 5.0);
assert_relative_eq!(dfdx, 0.8);
assert_relative_eq!(dfdy, 0.6);
assert_relative_eq!(d2fdxdy, -0.096);