scipy.optimize.OptimizeResult#

class scipy.optimize.OptimizeResult[source]#

Represents the optimization result.

Notes

Depending on the specific solver being used, OptimizeResult may not have all attributes listed here, and they may have additional attributes not listed here. Since this class is essentially a subclass of dict with attribute accessors, one can see which attributes are available using the OptimizeResult.keys method.

Attributes:
xndarray

The solution of the optimization.

successbool

Whether or not the optimizer exited successfully.

statusint

Termination status of the optimizer. Its value depends on the underlying solver. Refer to message for details.

messagestr

Description of the cause of the termination.

fun, jac, hess: ndarray

Values of objective function, its Jacobian and its Hessian (if available). The Hessians may be approximations, see the documentation of the function in question.

hess_invobject

Inverse of the objective function’s Hessian; may be an approximation. Not available for all solvers. The type of this attribute may be either np.ndarray or scipy.sparse.linalg.LinearOperator.

nfev, njev, nhevint

Number of evaluations of the objective functions and of its Jacobian and Hessian.

nitint

Number of iterations performed by the optimizer.

maxcvfloat

The maximum constraint violation.

Methods

__getitem__

x.__getitem__(y) <==> x[y]

__len__(/)

Return len(self).

clear()

copy()

fromkeys(iterable[, value])

Create a new dictionary with keys from iterable and values set to value.

get(key[, default])

Return the value for key if key is in the dictionary, else default.

items()

keys()

pop(key[, default])

If the key is not found, return the default if given; otherwise, raise a KeyError.

popitem(/)

Remove and return a (key, value) pair as a 2-tuple.

setdefault(key[, default])

Insert key with a value of default if key is not in the dictionary.

update([E, ]**F)

If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

values()