[SciPy-User] scipy.optimize named argument inconsistency

Skipper Seabold jsseabold at gmail.com
Sat Sep 3 11:42:37 EDT 2011


On Fri, Sep 2, 2011 at 10:31 AM, Denis Laxalde <denis.laxalde at mcgill.ca> wrote:
> Hi,
>
> (I'm resurrecting an old post.)
>
> On Thu, 27 Jan 2011 18:54:39 +0800, Ralf Gommers wrote:
>> On Wed, Jan 26, 2011 at 12:41 AM, Joon Ro <joonpyro at gmail.com> wrote:
>> > I just found that for some functions such as fmin_bfgs, the argument name
>> > for the objective function to be minimized is f, and for others such as
>> > fmin, it is func.
>> > I was wondering if this was intended, because I think it would be better to
>> > have consistent argument names across those functions.
>>
>> It's unlikely that that was intentional. A patch would be welcome. "func"
>> looks better to me than "f" or "F".
>
> There are still several inconsistencies in input or output of functions
> in the optimize package. For instance, for input parameters the Jacobian
> is sometimes name 'fprime' or 'Dfun', tolerances can be 'xtol' or
> 'x_tol', etc. Also, outputs might be returned in a different order,
> e.g., fsolve returns 'x, infodict, ier, mesg' whereas leastsq returns
> 'x, cov_x, infodict, mesg, ier'.
>
> If you still believe (as I do) that consistency of optimize
> functions should be improved, I can work on it. Let me know.
>

+1.

I'd like to see the input and outputs streamlined as much as possible.
It would also be nice to have a convenience wrapper around all the
optimizers so that you can use them with one function. You'll have to
deprecate the old signatures though.

Skipper



More information about the SciPy-User mailing list