N-th roots of complex numbers?



On 10/01/2013 09:39 PM, Richard Fateman wrote:
>  On 10/1/2013 2:08 AM, John Lapeyre wrote:
> >
> >
> > I see three possible interpretations of this example
> > (are there more ?) :
> >
> > 1. (-1)^(1/6) means one particular root of z^6=-1
> > (e.g. the principal root). solve gave the
> > correct answer. But perhaps solve should have
> > applied rectform itself.
>  Not really. The triple of 3 solutions is well defined for ANY
>  consistent choice of a particular root. If you pick one of
>  the 3 solutions and you care for a particular root to be chosen,
>  you could choose such a root by providing an isolating box
>  in the complex plane. That's what an "analyst" would say.

I'm not sure I understand. But I think I agree. That's why I said
"*e.g.* the principal root", and not "*i.e.* the principal root". If
there is some convention, within maxima, for which root is meant
by (-1)^(1/6), then the three solutions given by solve are unambiguous.

> >
> > 2. the meaning of (-1)^(1/6) depends on the context.
> > eg if it appears at the top-level of expressions
> > in a list of three elements, then it means
> > the same root in each case, maybe a specific
> > root. This is obviously problematic.
>  You don't need 3 elements in a list. You could have sqrt(2) + sqrt(2).
>  If you are allowed to choose any of the square roots, each time, you 
could come
>  up with zero.

  Yes, that is what I meant by problematic... one rule for
  a list, another for a sum... More bluntly,
  unworkable.

> >
> > 3. (-1)^(1/6) means any one of the the six roots,
> > or maybe all of them. It's up to the user to
> > decide. In this case, solve gave an incorrect answer
> > and this is a bug in solve.
>
>  Let r be a solution to an algebraic equation. The answer is
>  a function of r. That's what an algebraist would say, anyway.

Maybe "incorrect" is slightly too strong. "Useless" might
be better. solve gave me three solutions because there are
three solutions to the equation. But if (-1)^(1/6) does not
represent, by convention, exactly one complex number, then each
of the three expressions represents the same three solutions.
I *can* get each of the three solutions explicitly because
rectform, operating on the list, makes the same choice every
time it encounters (-1)^(1/6), it could have been a different
choice, but it must be consistent.

Rectform returns an expression for one root. So there is a choice: 1)
rectform returns any one of three roots with no guarantees, in fact,
if you call rectform, you might as well assume it uses a random number
generator. 2) Or rectform follows some rule for which root is chosen,
this may involve flags, or other information--- but there is always a
rule. Which version is more useful?

--John