`qiskit.algorithms.optimizers.NELDER_MEAD(maxiter=None, maxfev=1000, disp=False, xatol=0.0001, tol=None, adaptive=False, options=None, **kwargs)`

Bases: `SciPyOptimizer`

The Nelder-Mead algorithm performs unconstrained optimization; it ignores bounds or constraints. It is used to find the minimum or maximum of an objective function in a multidimensional space. It is based on the Simplex algorithm. Nelder-Mead is robust in many applications, especially when the first and second derivatives of the objective function are not known.

However, if the numerical computation of the derivatives can be trusted to be accurate, other algorithms using the first and/or second derivatives information might be preferred to Nelder-Mead for their better performance in the general case, especially in consideration of the fact that the Nelder–Mead technique is a heuristic search method that can converge to non-stationary points.

Uses scipy.optimize.minimize Nelder-Mead. For further detail, please refer to See https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html (opens in a new tab)

Parameters

## Attributes

### bounds_support_level

Returns bounds support level

### initial_point_support_level

Returns initial point support level

### is_bounds_ignored

Returns is bounds ignored

### is_bounds_required

Returns is bounds required

### is_bounds_supported

Returns is bounds supported

### is_initial_point_ignored

Returns is initial point ignored

### is_initial_point_required

Returns is initial point required

### is_initial_point_supported

Returns is initial point supported

Return setting

## Methods

### get_support_level

`get_support_level()`

Return support level dictionary

`static gradient_num_diff(x_center, f, epsilon, max_evals_grouped=None)`

We compute the gradient with the numeric differentiation in the parallel way, around the point x_center.

Parameters

• x_center (ndarray) – point around which we compute the gradient
• f (func) – the function of which the gradient is to be computed.
• epsilon (float (opens in a new tab)) – the epsilon used in the numeric differentiation.
• max_evals_grouped (int (opens in a new tab)) – max evals grouped, defaults to 1 (i.e. no batching).

Returns

Return type

### minimize

`minimize(fun, x0, jac=None, bounds=None)`

Minimize the scalar function.

Parameters

Returns

The result of the optimization, containing e.g. the result as attribute `x`.

Return type

OptimizerResult

`print_options()`

Print algorithm-specific options.

### set_max_evals_grouped

`set_max_evals_grouped(limit)`

Set max evals grouped

### set_options

`set_options(**kwargs)`

Sets or updates values in the options dictionary.

The options dictionary may be used internally by a given optimizer to pass additional optional values for the underlying optimizer/optimization function used. The options dictionary may be initially populated with a set of key/values when the given optimizer is constructed.

Parameters

kwargs (dict (opens in a new tab)) – options, given as name=value.

### wrap_function

`static wrap_function(function, args)`

Wrap the function to implicitly inject the args at the call of the function.

Parameters

Returns

wrapper

Return type

function_wrapper