optim_doc: Structure-based user functions

Next: Structure-based gradients and Hessians, Up: Parameter structures [Index]

### 10.1 Specify which user functions accept parameter structures

The frontend must be told which user functions accept parameter structures by setting corresponding settings to `true`. The names of these settings depend on which user functions are applicable to the respective frontend and are shown in the following table.

User function | Setting | Frontends
--- | --- | ---
Objective function | `objf_pstruct` | `nonlin_min`
Gradient | `grad_objf_pstruct` | `nonlin_min`
Hessian | `hessian_objf_pstruct` | `nonlin_min`
Model function | `f_pstruct` | `nonlin_residmin`, `nonlin_curvefit`, `residmin_stat`, `curvefit_stat`
Jacobian | `df_pstruct` | `nonlin_residmin`, `nonlin_curvefit`, `residmin_stat`, `curvefit_stat`
General inequality constraints | `f_inequc_pstruct` | `nonlin_min`, `nonlin_residmin`, `nonlin_curvefit`
Jacobian of general inequality constraints | `df_inequc_pstruct` | `nonlin_min`, `nonlin_residmin`, `nonlin_curvefit`
General equality constraints | `f_equc_pstruct` | `nonlin_min`, `nonlin_residmin`, `nonlin_curvefit`
Jacobian of general equality constraints | `df_equc_pstruct` | `nonlin_min`, `nonlin_residmin`, `nonlin_curvefit`