### 1.3 Backend wrapping core Octaves sqp function

This backend calls the `sqp` function of core Octave, a sequential quadratic programming algorithm with BFGS, so that it is usable with the `nonlin_min` frontend of the optim package. `sqp` honours constraints for the returned result, but not necessarily during the course of optimization.

Compared to calling `sqp` directly ( see (octave)sqp),

- a different default (numerical) gradient function is used (that of the frontend),
- bounds are set to `+-Inf` by default, not to `+-realmax`.

The value of the additional setting `octave_sqp_tolerance`, a tolerance to several termination criteria, is passed as the respective argument to Octaves `sqp`, which provides the default `sqrt (eps)`. The settings `TolFun`, `TolX`, `fract_prec`, `max_fract_change`, `Display`, and `user_interaction` are not honoured.

Returned value cvg will be `1` for success and `0` or `-4` for failure ( see nonlin_min for meaning). Returned structure outp will have the fields `niter`, `nobjf`, and `lambda`.

The default of `MaxIter` is that of Octaves `sqp` (100).