# algorithms.optimize

## Module: `algorithms.optimize`

nipy.algorithms.optimize.fmin_steepest(f, x0, fprime=None, xtol=0.0001, ftol=0.0001, maxiter=None, epsilon=1.4901161193847656e-08, callback=None, disp=True)

  Minimize a function using a steepest gradient descent algorithm. This complements the collection of minimization routines provided in scipy.optimize. Steepest gradient iterations are cheaper than in the conjugate gradient or Newton methods, hence convergence may sometimes turn out faster algthough more iterations are typically needed.

  Parameters:
    f callable

      Function to be minimized

    x0 array

      Starting point

    fprime callable

      Function that computes the gradient of f

    xtol float

      Relative tolerance on step sizes in line searches

    ftol float

      Relative tolerance on function variations

    maxiter int

      Maximum number of iterations

    epsilon float or ndarray

      If fprime is approximated, use this value for the step

    size (can be scalar or vector).
    callback callable

      Optional function called after each iteration is complete

    disp bool

      Print convergence message if True

  Returns:
    x array

      Gradient descent fix point, local minimizer of f