pub fn implicit_adjoint<F: Float>(
tape: &mut BytecodeTape<F>,
z_star: &[F],
x: &[F],
z_bar: &[F],
num_states: usize,
) -> Option<Vec<F>>Expand description
Compute the implicit adjoint (dz*/dx)^T · z_bar (n-vector).
Given a multi-output residual tape F: R^(m+n) → R^m with F(z*, x) = 0,
computes x_bar = -F_x^T · (F_z^{-T} · z_bar).
This is the reverse-mode (adjoint) form, useful when n > m or when
propagating gradients backward through an implicit layer.
Returns None if F_z is singular.