Usar scipy para minimizar una función que también toma parámetros no variacionales

Quiero usar elscipy.optimize módulo para minimizar una función. Digamos que mi función esf(x,a):

def f(x,a):
 return a*x**2

Para un fijoa, Quiero minimizarf(x,a) con respecto ax.

Conscipy Puedo importar por ejemplo elfmin función (tengo un viejo scipy: v.0.9.0), dar un valor inicialx0 y luego optimizar (documentación):

from scipy.optimize import fmin
x0 = [1]
xopt = fmin(f, x0, xtol=1e-8)

que falla porquef toma dos argumentos yfmin está pasando solo uno (en realidad, ni siquiera he definidoa todavía). Si lo hago:

from scipy.optimize import fmin
x0 = [1]
a = 1
xopt = fmin(f(x,a), x0, xtol=1e-8)

el cálculo también fallará porque "x no está definido". Sin embargo, si definox entonces no hay un parámetro variacional para optimizar.

¿Cómo permito que se usen parámetros no variacionales como argumentos de función aquí?

Respuestas a la pregunta(3)

Su respuesta a la pregunta