[SciPy-Dev] Why does optimize.nonlin take a tuple for func to optimize?

Skipper Seabold jsseabold at gmail.com
Wed Mar 10 17:08:36 EST 2010


On Wed, Mar 10, 2010 at 4:47 PM, Pauli Virtanen <pav at iki.fi> wrote:
> ke, 2010-03-10 kello 16:09 -0500, Skipper Seabold kirjoitti:
>> I am curious why optimize.nonlin expects a tuple for the function to
>> optimize?  This seems inconsistent with the other optimize methods I
>> have used in optimize.
>>
>> http://docs.scipy.org/scipy/docs/scipy.optimize.nonlin/
>>
>> Are there any objections to changing this to be more consistent with
>> the other solvers which take something like (F, x0, args=()) and use
>> optimize.wrap_function for the function to be optimized?  Perhaps
>> there is something I am missing.
>
> The nonlin module requires significant cleanup. I did some work last
> spring on this, but didn't have time to finish it up fully.
> http://codereview.appspot.com/62059/show
> http://codereview.appspot.com/52096/show
>
> The main holdup is the refactoring of line searches, and ensuring this
> does not break anything, plus the overall design of the new nonlin
> interfaces.
>

Yes, nonlin seems to be a bit baffling to me.  Ok, I see your ticket
now.  http://projects.scipy.org/scipy/ticket/791

I'm afraid I don't know enough about these things to be of much help
in the short term.  I was just trying to use broyden for a penalized
maximum likelihood.  Would it help to write some regression tests
using your branch to ensure that linesearch refactoring doesn't break
anything else?

Skipper



More information about the SciPy-Dev mailing list