[SciPy-user] non-linear multi-variate optimization

Sebastian Walter sebastian.walter at gmail.com
Sat Jul 18 12:53:26 EDT 2009


What I've been trying to say is:

The function you want to optimize must be of the form

f: R^N -> R
      x  -> y = f(x)

i.e. mapping to the real numbers.

then the derivative f'(x) is in R^N
i.e. numpy.shape(f'(x)) == (N,)


If you could be more precise on which optimization function you are
trying to use and what your objective function looks like it would be
easier to help.


Sebastian








On Sat, Jul 18, 2009 at 6:43 PM, Chris Colbert<sccolbert at gmail.com> wrote:
> I'm not quite understanding what you're saying. According to this:
> http://en.wikipedia.org/wiki/Gradient
> the Gradient and Jacobian are one in the same.
>
> what would be the form of the gradient in my case?
>
> Thanks for the help!
>
> Chris
>
> On Wed, Jul 15, 2009 at 3:32 AM, Sebastian
> Walter<sebastian.walter at gmail.com> wrote:
>> The gradient g is only defined for functions f: R^N --> R and is
>> simply an array with shape (N,)
>>
>> what you sketched in your post is the Jacobian J of a function f: R^N --> R^M
>> Typically, the Jacobian J is defined to have the shape (M,N), but
>> there are exceptions.
>>
>> hope that helps a little
>> Sebastian
>>
>>
>>
>> On Wed, Jul 15, 2009 at 2:00 AM, Chris Colbert<sccolbert at gmail.com> wrote:
>>> The routines for non-linear optimization in scipy.optimize take an
>>> argument for a function that computes the gradient.
>>>
>>> What should be the format of return value of this function? I am
>>> assuming that its the gradient of the functions with repect to the
>>> independent variables in row vector format.
>>>
>>> for example say we have:
>>>
>>> f(x,y,z; a1, a2, a3) where a1, a2, and a3 are the independent variables.
>>>
>>> Should the gradient of N x,y,z points then be of the form:
>>>
>>> df/da  =   [[df(X0)/da1, df(X0)/da2, df(X0)/da3],
>>>               [df(X1)/da1, df(X1)/da2, df(X1)/da3],
>>>               ....
>>>               [df(Xn)/da1, df(Xn)/da2, df(Xn)/da3]]
>>>
>>> where Xn is the set of (xn, yn, zn) ?
>>>
>>> cheers!
>>>
>>> Chris
>>> _______________________________________________
>>> SciPy-user mailing list
>>> SciPy-user at scipy.org
>>> http://mail.scipy.org/mailman/listinfo/scipy-user
>>>
>> _______________________________________________
>> SciPy-user mailing list
>> SciPy-user at scipy.org
>> http://mail.scipy.org/mailman/listinfo/scipy-user
>>
> _______________________________________________
> SciPy-user mailing list
> SciPy-user at scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-user
>



More information about the SciPy-User mailing list