square root expression simplification



Am Sonntag, den 31.10.2010, 14:43 -0700 schrieb Richard Fateman:
> On 10/31/2010 2:27 PM, Edwin Woollett wrote:
> > On Oct. 30 Dieter Kaiser wrote:
> > -----------------------------------
> >> Yes, you are right, to correct the bug sqrt(1/z) -> 1/sqrt(z) for z<0,
> >> at first this type of simplification has been switched of completely. In
> >> a next step this type of simplification has been made available for z>0.
> > ----------------------------------------------------
> > The original bug you mentioned in your note of 8-30-09
> > was that sqrt(1/z) automatically simplified to 1/sqrt(z)
> > irrespective of declarations.
> >
> > I agree that the first step is to remove that bug and allow the
> > simplification to occur if z is real and positive.
> 
> Just to make sure you understand my perspective:  I view this as wrong.
> 
> Even if z is real and positive, there are still two values of sqrt(z), 
> and the choice
> of which one to use depends on which one you wish to use.

I have three questions about the square root function:

1. 

Is it the desired behavior of Maxima to return the principal square root
for numbers?

sqrt(4)  -> 2 
sqrt(-4) -> 2*%i

This is the implementation we have for real and complex numbers.

2. 

Is it the desired behavior of Maxima not to simplify 

   sqrt(1/z) -> 1/sqrt(z) for any z?

A consequence is, that

   sqrt(z)*sqrt(1/z) would not simplify to 1 for z>0.

The current behavior of Maxima is to simplify sqrt(1/z) -> 1/sqrt(z), if
Maxima can deduce z>0. Until Maxima 5.20 we had sqrt(1/z) -> 1/sqrt(z)
and sqrt(z)*sqrt(1/z) -> 1 for any z.

3.

Should we implement a principal square root function, which is the
inverse of f(x):=x^2 for x>0 and is extended to the complex numbers in a
way, which is consistent with the calculation of the principal value of
the square root function?

Dieter Kaiser