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

Sebastian Walter sebastian.walter@gmail....
Sat Jul 18 11:53:26 CDT 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@gmail.com> wrote:
> I'm not quite understanding what you're saying. According to this:
> 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@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@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@scipy.org
>>> http://mail.scipy.org/mailman/listinfo/scipy-user
>>>
>> _______________________________________________
>> SciPy-user mailing list
>> SciPy-user@scipy.org
>> http://mail.scipy.org/mailman/listinfo/scipy-user
>>
> _______________________________________________
> SciPy-user mailing list
> SciPy-user@scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-user
>
```