Parametric sensitivity interface for NLPModels.jl.
\[\begin{aligned}
\min_{x} \; & f(x, θ) \\
\text{subject to} \quad & c^ℓ(θ) \leq c(x, θ) \leq c^u(θ) \\
& x^ℓ(θ) \leq x \leq x^u(θ)
\end{aligned}\]
- $∂f/∂θ$, the objective gradient with respect to the parameters,
npar - $∂c/∂θ$, the constraints Jacobian with respect to the parameters,
ncon × npar - $∂²L/∂x∂θ$, the Lagrangian Hessian with respect to the variables and the parameters,
nvar × npar - $∂x^ℓ/∂θ$, $∂x^u/∂θ$, $∂c^ℓ/∂θ$, $∂c^u/∂θ$, the bounds with respect to the parameters,
nvar × npar and ncon × npar
Dimensions and availability come from ParametricNLPModelMeta, returned by get_par_meta.
The naming follows NLPModels.jl conventions:
! means in place_par means with respect to the parameters_coord means coordinate format_dense means dense formatprod means matrix-vector product, tprod the transposed product
| Function | ParametricNLPModels function |
|---|
| $θ$ | get_npar, get_par, set_par! |
| $∂f/∂θ$ | get_nnzo_par, grad_par, grad_par! |
| $∂c/∂θ$ | get_nnzj_par, jac_par, jac_par_structure, jac_par_structure!, jac_par_coord, jac_par_coord!, jac_par_dense!, jprod_par, jprod_par!, jtprod_par, jtprod_par! |
| $∂²L/∂x∂θ$ | get_nnzh_par, hess_par, hess_par_structure, hess_par_structure!, hess_par_coord, hess_par_coord!, hess_par_dense!, hprod_par, hprod_par!, htprod_par, htprod_par! |
| $∂x^ℓ/∂θ$ | get_nnzj_lvar_par, lvar_jac_par, lvar_jac_par_structure, lvar_jac_par_structure!, lvar_jac_par_coord, lvar_jac_par_coord!, lvar_jac_par_dense!, lvar_jprod_par, lvar_jprod_par!, lvar_jtprod_par, lvar_jtprod_par! |
| $∂x^u/∂θ$ | get_nnzj_uvar_par, uvar_jac_par, uvar_jac_par_structure, uvar_jac_par_structure!, uvar_jac_par_coord, uvar_jac_par_coord!, uvar_jac_par_dense!, uvar_jprod_par, uvar_jprod_par!, uvar_jtprod_par, uvar_jtprod_par! |
| $∂c^ℓ/∂θ$ | get_nnzj_lcon_par, lcon_jac_par, lcon_jac_par_structure, lcon_jac_par_structure!, lcon_jac_par_coord, lcon_jac_par_coord!, lcon_jac_par_dense!, lcon_jprod_par, lcon_jprod_par!, lcon_jtprod_par, lcon_jtprod_par! |
| $∂c^u/∂θ$ | get_nnzj_ucon_par, ucon_jac_par, ucon_jac_par_structure, ucon_jac_par_structure!, ucon_jac_par_coord, ucon_jac_par_coord!, ucon_jac_par_dense!, ucon_jprod_par, ucon_jprod_par!, ucon_jtprod_par, ucon_jtprod_par! |