scipy.optimize.fmin_powell(func, x0, args=(), xtol=0.0001, ftol=0.0001, maxiter=None, maxfun=None, full_output=0, disp=1, retall=0, callback=None, direc=None)

Minimize a function using modified Powell’s method.

Parameters :

func : callable f(x,*args)

Objective function to be minimized.

x0 : ndarray

Initial guess.

args : tuple

Extra arguments passed to func.

callback : callable

An optional user-supplied function, called after each iteration. Called as callback(xk), where xk is the current parameter vector.

direc : ndarray

Initial direction set.

Returns :

xopt : ndarray

Parameter which minimizes func.

fopt : number

Value of function at minimum: fopt = func(xopt).

direc : ndarray

Current direction set.

iter : int

Number of iterations.

funcalls : int

Number of function calls made.

warnflag : int

Integer warning flag:

1 : Maximum number of function evaluations. 2 : Maximum number of iterations.

allvecs : list

List of solutions at each iteration.

Other Parameters:

xtol : float

Line-search error tolerance.

ftol : float

Relative error in func(xopt) acceptable for convergence.

maxiter : int

Maximum number of iterations to perform.

maxfun : int

Maximum number of function evaluations to make.

full_output : bool

If True, fopt, xi, direc, iter, funcalls, and warnflag are returned.

disp : bool

If True, print convergence messages.

retall : bool

If True, return a list of the solution at each iteration.


Uses a modification of Powell’s method to find the minimum of a function of N variables.

Previous topic


Next topic


This Page