caps complex tests



On 11/13/2010 4:59 PM, Richard Hennessy wrote:
> Well, as many Maxima commands as possible should respect a common sign 
> convention for
> sqrt().  Some may not work that way for a legitimate reason.
>
You are assuming there is such a thing as a "common sign convention"
that solves the problem of simplification of algebraic expressions.

radcan does not change the sign of an expression. It chooses an 
interpretation
for radical expressions in a manner that is consistent within that 
expression.

It does not refer to assumptions, though it appears that other programs use
assumptions either on the argument to radcan, which is  simplified 
before calling
radcan,  or on the output from radcan, which is simplified before display.

radcan itself never produces abs().

You (and others)  seem to think that  sqrt( (x^2-2*x+1)/x)  is equal to

sqrt(1/x)*abs(x-1).

It is not.

(defun h(x) (* (sqrt(/ 1.0 x))(abs (1- x))))

(defun g(x) (sqrt (/ (+ (* x x)(* -2 x) 1) x)))

evaluate at i =  (complex 0 1.0)

(h i) is 1 - i
(g i) is 0-1.414 i

Does this matter?  I think so.

Can you solve anything by (assume x>0)  or some such thing?
It works only for trivial cases.  You are not solving the problem; 
merely papering over some demo cases.
Unfortunately.

this is not a new problem, it was being considered at least  between 
(say) 1963 and now.
People have been writing papers on some variant of this topic (e.g.
denesting radicals) for decades. So maybe it is not so easy.









>
>