# scipy.optimize.fminbound

scipy.optimize.fminbound(func, x1, x2, args=(), xtol=1e-05, maxfun=500, full_output=0, disp=1)

  Bounded minimization for scalar functions.

  Parameters
    func callable f(x,*args)

      Objective function to be minimized (must accept and return scalars).

    x1, x2 float or array scalar

      The optimization bounds.

    args tuple, optional

      Extra arguments passed to function.

    xtol float, optional

      The convergence tolerance.

    maxfun int, optional

      Maximum number of function evaluations allowed.

    full_output bool, optional

      If True, return optional outputs.

    disp int, optional
      If non-zero, print messages.

        0 : no message printing. 1 : non-convergence notification messages only. 2 : print a message on convergence too. 3 : print iteration results.

  Returns
    xopt ndarray

      Parameters (over given interval) which minimize the objective function.

    fval number

      The function value at the minimum point.

    ierr int

      An error flag (0 if converged, 1 if maximum number of function calls reached).

    numfunc int

      The number of function calls made.

  See also

  `minimize_scalar`

    Interface to minimization algorithms for scalar univariate functions. See the ‘Bounded’ method in particular.

  Notes

  Finds a local minimizer of the scalar function func in the interval x1 < xopt < x2 using Brent’s method. (See `brent` for auto-bracketing.)

  Examples

  `fminbound` finds the minimum of the function in the given range. The following examples illustrate the same

      >>> def f(x):
      ...     return x**2

      >>> from scipy import optimize

      >>> minimum = optimize.fminbound(f, -1, 2)
      >>> minimum
      0.0
      >>> minimum = optimize.fminbound(f, 1, 2)
      >>> minimum
      1.0000059608609866

scipy.optimize.fmin_slsqp scipy.optimize.brent