N-th roots of complex numbers?



Regardless of what Maxima means when it types out  (-1)^(1/6),   there 
is the
question of what THE USER MEANS WHEN HE?SHE TYPES IT IN!

It turns out to be easier if there is at least one variable name say x 
in there, because
you can attach a meaning as x-> positive infinity.

For constants, in isolation,  the position I take is that
a particular item like (-1)^(1/6)   is a six-tuple.  Unless you know
more info about it.

For numbers that come up in a set of solutions from solve, the
solution set should be handled as a set, too.

The notation RootOf( z^6+1)  or some variant,  is used in
some computer algebra systems. The idea of "principle value"
is in general ill-defined,  so unless you have some application
in mind, it may just be pointless to pursue.  CAS appear
to do make various choices with sort of random justifications.
Maxima appears to allow the user some control, so it is
perhaps possible to steer it in some direction.

RJF


On 10/1/2013 3:43 PM, John Lapeyre wrote:
> 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
>