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