I am trying to find a local minimum of a 2 variables function, but I am struggling with the syntax of scipy.optimize.minimize, as it looks like it is not accepting how I am passing the initial point:
import scipy.optimize as sop
function = lambda x,y: 2*(x**2)*(y**2)+3*x*x+2*x+4*y+7
p0 = [0,0]
min_ = sop.minimize (function,x0=p0)
Resulting in the following error:
TypeError: <lambda>() missing 1 required positional argument: 'y'
passing the values directly to the function, such as:
function(0,0)
works without issue.
But, if I pass an array or a tuple, it results in the same error:
x0 = (0,0)
function(x0)
TypeError: <lambda>() missing 1 required positional argument: 'y'
Help appreciated!
Thank you