Simplification of sqrt(1/x) and radcan



Am Dienstag, den 27.10.2009, 11:36 -0400 schrieb Stavros Macrakis:
> Dieter,
> 
> Most Maxima internals assume that their input is simplified.  In this
> case, I suspect that radcan assumes that the first argument of an
> mexpt cannot itself be an mexpt.

OK, but the problem is that the "unsimplified" expression is a correct
expression and the "simplified" expression is in general wrong. So It
seems to me that radcan has a problem with a "correct" expression.

Again the expresssions:

That is what we have. 
Maxima always simplifes sqrt(1/(1+z)) -> 1/sqrt(1+z):

(%i4) sqrt(1/(1+z));
(%o4) 1/sqrt(z+1)
(%i5) :lisp $%
((MEXPT SIMP) ((MPLUS SIMP) 1 $Z) ((RAT SIMP) -1 2))

Radcan has no problems of course with this expression.

That is what we will get when we cut out the above simplification which
is correct only for special cases:

(%i6) sqrt(1/(1+z));
(%o6) sqrt(1/(z+1))
(%i7) :lisp $%
((MEXPT SIMP) ((MEXPT SIMP) ((MPLUS SIMP) 1 $Z) -1) ((RAT SIMP) 1 2))

Therefore, I think the last expression is a valid expression which
radcan can not handle. Because it should be a valid expression I think
we have a bug in radcan or in an other routine called by radcan which
does not expect to get this "correct" expression.

Dieter Kaiser