cobyla



>>>>> "Stavros" == Stavros Macrakis <macrakis at alum.mit.edu> writes:

    Stavros> Robert,



    Stavros> I hope you're pulling my leg.



    Stavros> Although Maxima is a permissive system in many ways --
    Stavros> and that is a good thing -- allowing nonsensical
    Stavros> operations without warning is bound to cause
    Stavros> problems. ?If the user really wants to use the symbol %pi
    Stavros> for a variable, they can subst something else for it.



    Stavros> How far do you want to take this? ?What about diff(2,2)? 
    Stavros> ?Should that be 0 because 2 is a constant, or 1 because 2
    Stavros> should be treated as a variable? ?How about diff(2,1) --
    Stavros> do we treat 2 as = 2*1? Should we allow block([%pi:22/7],
    Stavros> ...)? ?How do we explain to a user that diff(%i^2,%i) is
    Stavros> 0, but diff(%i,%i) is 1?



    Stavros> Besides the question of inconsistent results, there is
    Stavros> the simple pragmatic issue that I'm pretty confident that
    Stavros> in the vast majority of cases where users try to use %i,
    Stavros> etc. as variables, that is not actually their intent.



    Stavros> Heck, if we're going to allow binding constants, why
    Stavros> don't we allow %pi: 22/7, assert(equal(%pi,22/7)), and
    Stavros> for that matter assert(-1 > 1)? ?After all, "whether it
    Stavros> makes sense is the user's problem, not ours".


I basically agree with all of this.  People already confuse pi and
%pi, i and %i, e and %e, and, recently %gamma.  Let's not encourage
the confusion.

Ray