Я новичок в python, и у меня возникает следующая проблема: я пытаюсь свести к минимуму функцию python, которая имеет массив numpy как один своих аргументов. Когда я использую scipy.optimize.fmin, он превращает мой массив в список (что приводит к невозможности оценки функции). Есть ли функция оптимизации, которая принимает массивы numpy в качестве аргументов функции?
Заранее спасибо!
-MB
Изменить: вот пример того, о чем я говорю, любезно предоставлено @EOL:
import scipy.optimize as optimize
import numpy as np
def rosen(x):
print x
x=x[0]
"""The Rosenbrock function"""
return sum(100.0*(x[1:]-x[:-1]**2.0)**2.0 + (1-x[:-1])**2.0)
x0 = np.array([[1.3, 0.7, 0.8, 1.9, 1.2]])
xopt = optimize.fmin(rosen, x0, xtol=1e-8, disp=True)
#[ 1.3 0.7 0.8 1.9 1.2]
#(note that this used to be a numpy array of length 0,
#now it's "lost" a set of brackets")