### 4.1 Direct user interface to default numerical gradient method of new frontends

#### Helptext:

    function jac = dfpdp (p, func[, hook])

    Returns Jacobian of func (p) with respect to p with finite
    differencing. The optional argument hook is a structure which can
    contain the following fields at the moment:

    hook.f: value of func(p) for p as given in the arguments

    hook.diffp: positive vector of fractional steps from given p in
    finite differencing (actual steps may be smaller if bounds are
    given). The default is .001 * ones (size (p)).

    hook.diff_onesided: logical vector, indexing elements of p for
    which only one-sided differences should be computed (faster); even
    if not one-sided, differences might not be exactly central if
    bounds are given. The default is false (size (p)).

    hook.fixed: logical vector, indexing elements of p for which zero
    should be returned instead of the guessed partial derivatives
    (useful in optimization if some parameters are not optimized, but
    are 'fixed').

    hook.lbound, hook.ubound: vectors of lower and upper parameter
    bounds (or -Inf or +Inf, respectively) to be respected in finite
    differencing. The consistency of bounds is not checked.