# API reference

## Docstrings

ImplicitDifferentiation.ImplicitFunctionType
ImplicitFunction{F,C,L}

Differentiable wrapper for an implicit function x -> ŷ(x) whose output is defined by explicit conditions F(x,ŷ(x)) = 0.

If x ∈ ℝⁿ and y ∈ ℝᵈ, then we need as many conditions as output dimensions: F(x,y) ∈ ℝᵈ. Thanks to these conditions, we can compute the Jacobian of ŷ(⋅) using the implicit function theorem:

∂₂F(x,ŷ(x)) * ∂ŷ(x) = -∂₁F(x,ŷ(x))

This requires solving a linear system A * J = B, where A ∈ ℝᵈˣᵈ, B ∈ ℝᵈˣⁿ and J ∈ ℝᵈˣⁿ.

Fields:

• forward::F: callable of the form x -> ŷ(x)
• conditions::C: callable of the form (x,y) -> F(x,y)
• linear_solver::L: callable of the form (A,b) -> u such that A * u = b
source