+2 votes

SciPy optimize provides functions for minimizing (or maximizing) a given objective function. If your function is a scalar function of one variable, you can use the minimize_scalar() function to find the minimum value of the function and the value that minimizes it.

A scalar function is a function of one or more variables that returns a scalar output(a single value).

E.g. f(x) = x^2 - 2x + 1 is a scalar function of one variable.

Here is the python code to find the value of x between -1 and 5 that minimizes the objective function.

from scipy.optimize import minimize_scalar

def objfun(x):

return x ** 2 - 2 * x + 1

res = minimize_scalar(objfun, method='bounded', bounds=(-1, 5))

print(res)

The above code prints the following output:

fun: 0.0

message: 'Solution found.'

nfev: 6

status: 0

success: True

x: 1.0

The output shows that the minimum value of the function is 0 and x=1 minimizes this function.