1 | initial version |
Hi,
The problem seems to be that sage's minimize_contrained
function will call the function f
with c
being a 1-dimensional array and the diff
function expects a variable name.
A workaround to this would be to give a different name to the parameter of f
, say x
. Then we could differentiate y
and substitute c=x[0]
, as shown below
def f(x):
dy=y.diff(c)
w=5*(c-10)^3
z=dy+w
return z.subs(c=x[0])
It might be the case that sage is differentiating y
each time f
is called, which might end up consuming some time. To avoid this maybe just defining z=dy+w
and calling minimize_constrained(z,[(-10,10)],[9])
would do the job.