pub fn second_partial_derivative<G, T: DualNum<F>, F, O: Mappable<HyperDual<T, F>>>(
g: G,
(x, y): (T, T),
) -> O::Output<(T, T, T, T)>
Expand description
Calculate second partial derivatives with respect to scalars.
let fun = |(x, y): (HyperDual64, 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);