On 10/01/2013 09:06 AM, Robert Dodier wrote:
> On Mon, Sep 30, 2013 at 10:08 PM, Alasdair McAndrew <amca01 at gmail.com>
wrote:
> Dunno what's going on. With Maxima 5.31.1 + Clisp + Linux, I get:
It also works for me with linux + (5.28.0 gcl and 5.31.1 sbcl)
> (%i2) solve(z^3 = 8*%i,z);
> (%o2) [z = (-1)^(1/6)*sqrt(3)*%i-(-1)^(1/6),
> z = -(-1)^(1/6)*sqrt(3)*%i-(-1)^(1/6),z = 2*(-1)^(1/6)]
> (%i3) rectform(%);
> (%o3) [z = %i-sqrt(3),z = -2*%i,z = %i+sqrt(3)]
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.
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.
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.
--John