While I agree that Maxima should not ask the sign of an expression when
it can be figured out,
the problem of ridding the system of these questions when the sign of an
expression is NOT apparent
cannot be solved by simply forbidding it, or blaming someone.
The earliest and simplest version of this was probably introduced by
indefinite integration procedures where
the choice was between expressing the answer as an arctangent or log.
Which to use affects the form of
the answer (do you want to avoid complex constants?) as well as some
other properties, like continuity [I think].
So if you want to eliminate asksign, you can do so by adding gratuitous
discontinuities, or find something cleverer all around.
Like returning an expression with several alternative forms in some kind
of conditional framework. And then rewriting
your whole computer algebra system around the notion that every
expression could be a conditional, or subject to some
kind of assumption framework. (As I have previously indicated, this is
an interesting but costly idea.)
As for not knowing the answer / Maxima being used for trivial tasks /
Probably the vast majority of users of Maxima are students, and they use
the program for trivial tasks, like calculus homework.
As for making Maxima different so it can be used by Sage, that is
backwards. If Sage has solved the multiple-representation-conditional
problem, then it could use Maxima either by answering the "asksign"
questions, or by inserting assumptions as appropriate [this is assuming
Maxima has no bugs in this area.] Since Sage has not solved this
problem, or so far as I can tell, even recognized it, it is a serious
problem in Sage. It cannot be fixed by changing Maxima. What would
Sage do if Maxima returned an expression involving Maxima "contexts" and
"assumptions"?
Since it appears that Sage is an inconvenient front-end to Maxima, the
solution is simple. Don't use Sage to access Maxima. Maxima was
designed as an interactive program.
I know that Robert D. has expressed concern repeatedly about asksign,
and the Sage people bemoan it. Sure, eliminate it when it is not
necessary. If they have another idea, why not propose to address the
situation when the sign of an expression matters, and it cannot be
determined?
Michel Talon wrote:
> Semyon Glazyrin wrote:
>
>
>>
>
> Unfortunately this tendency to ask signs is a really serious problem of
> maxima. The person who introduced "asksign" in the system did a very bad
> choice for many reasons.
> * First, rules as sqrt(x^2)=abs(x) are stories for little children. They
> have no sense whatsoever as soon as one works with complex numbers.
> A square root has two values, period. Choosing cuts like the negative real
> axis is totally arbitrary, and a nonsense for complex roots.
> * Second, a practical reason, nobody doing a not completely trivial
> computation (and for a trivial one, maxima is not necessary) has any reason
> to know the answer to the question.
> * Third, it makes running maxima under another system, like in Sage,
> difficult at best.
>
>
>
>> thanks,
>> Semyon.
>>
>
>