Jacobian Wrappers

NonlinearSolve.JacobianCacheType
JacobianCache(prob, alg, f::F, fu, u, p; autodiff = nothing,
    vjp_autodiff = nothing, jvp_autodiff = nothing, linsolve = missing) where {F}

Construct a cache for the Jacobian of f w.r.t. u.

Arguments

Keyword Arguments

  • autodiff: Automatic Differentiation or Finite Differencing backend for computing the jacobian. By default, selects a backend based on sparsity parameters, type of state, function properties, etc.
  • vjp_autodiff: Automatic Differentiation or Finite Differencing backend for computing the vector-Jacobian product.
  • jvp_autodiff: Automatic Differentiation or Finite Differencing backend for computing the Jacobian-vector product.
  • linsolve: Linear Solver Algorithm used to determine if we need a concrete jacobian or if possible we can just use a NonlinearSolve.JacobianOperator instead.

SimpleNonlinearSolve functions

SimpleNonlinearSolve.value_and_jacobianFunction
value_and_jacobian(ad, f, y, x, p, cache; J = nothing)

Compute f(x), d/dx f(x) in the most efficient way based on ad. None of the arguments except cache (& J if not nothing) are mutated.