implicit_derivative_binary

Function implicit_derivative_binary 

Source
pub fn implicit_derivative_binary<G, D: DualNum<F>, F: DualNumFloat, A: DualStruct<DualVec<D, F, U2>, F>>(
    g: G,
    x: F,
    y: F,
    args: &A::Inner,
) -> [D; 2]
where G: Fn(DualVec<D, F, U2>, DualVec<D, F, U2>, &A) -> [DualVec<D, F, U2>; 2],
Expand description

Calculate the derivative of the binary implicit function g(x, y, args) = 0

let a = Dual64::from(4.0).derivative();
let [x, y] =
    implicit_derivative_binary(|x, y, a| [x * y - a, x + y - a - 1.0], 1.0f64, 4.0f64, &a);
assert_relative_eq!(x.re, 1.0, max_relative = 1e-16);
assert_relative_eq!(x.eps, 0.0, max_relative = 1e-16);
assert_relative_eq!(y.re, a.re, max_relative = 1e-16);
assert_relative_eq!(y.eps, a.eps, max_relative = 1e-16);