commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gilles Sadowski <>
Subject Re: [Math] Old to new API ("MultivariateDifferentiable(Vector)Function")
Date Sat, 01 Dec 2012 22:50:31 GMT
On Sat, Dec 01, 2012 at 05:09:00PM -0500, Konstantin Berlin wrote:
> >> 
> >> My opinion is that the package should be organized by what it does rather, than
how it does it.
> > 
> > My proposal is based on what the user wants to do and on what input is
> > required in order to use the tools in the given package, where all
> > algorithms will share the same interface.
> > 
> I humbly disagree with your claim. The user does not want a vector nor a Jcobian. The
user has a problem, and they want to see their options for a solution. That is why they will
go into, for example, least-squares. They will see that there are different kinds, so they
will go into linear, for example. There they will see all their options and what they need
to make it work.

There are probably various way to look at a "problem".

For example, I have a leastsquares "problem" but evaluating the derivatives
is expensive (finite differences), so I nevertheless use the classes in
"direct" (no derivatives).

[We had another discussion (raised by someone who detected what could be
assimilated to bugs) about the "Complex" class (cf. MATH-667). But since
nobody actually uses this class (in ways that trigger the issues), there
is no push to implement another "view". Not sure that illustrates a point
somehow... :-)]

> I also have a problem with how you targeting the package to naive people who want to
play around with packages. You want the package to be easily accessible to people who require
optimizations. I would imagine most users have a good idea what kind of problem that they
have are looking for the optimizer that will solve their problem. By structuring the packages
in the way I describe, they first go through the general problem that they have, and then
go down into more specific detail with every level. That seems to me the most natural.

I just gave an counter-example (i.e. this is not me as a user whom you


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message