Ich bin neu in Python und habe folgendes Problem: Ich versuche, eine Python-Funktion zu minimieren, die ein Numpy-Array als eines ihrer Argumente hat. Wenn ich scipy.optimize.fmin verwende, wird mein Array zu einer Liste (was dazu führt, dass die Funktion nicht ausgewertet werden kann). Gibt es eine Optimierungsfunktion, die Numpy-Arrays als Funktionsargumente akzeptiert?
Vielen Dank im Voraus!
-MB
Edit: Hier ist ein Beispiel dafür, wovon ich spreche, mit freundlicher Genehmigung von @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")