> 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.
I'm not exactly sure what you're getting at. I do understand
the idea that a user is allowed to attach any meaning to
input and output expressions without any reference to
any notion of mathematical correctness.(But, maybe that
has little overlap with your point.)
So, there is a question about what the user means
when he?she types something.
For instance, suppose I believe log(exp(Q)) should always
return Q. But, Maxima, in order to satisfy other users'
expectations gives me
log(exp(2*%pi*%i+3+%i)) --> %i+3
(There is probably some flag that changes this.) It
gives me a principal value. This is not magical, special,
better, or more correct, than values on other branches. It's
a convention so that different components can interact
and know what to expect.
> 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.
Ok, Let's assume (-1)^(1/6) is a six-tuple. Here is just
one of the ways in which this makes solve's answer wrong.
(%i1) solve(z^3 = 8*%i,z);
(%o1) [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)]
Here I choose just one root of
(-1)^(1/6), the one given by rectform.
(%i2) rectform((-1)^(1/6));
(%o2) %i/2+sqrt(3)/2
So one of the solutions to the equation
is 2 *( %i/2+sqrt(3)/2).
The function genroots_from_principal multiplies
its first argument by each of the 6 roots of
z^6=1, generating the six solutions represented
by the last element of the list returned by solve.
(%i3) genroots_from_principal(2*(%i/2+sqrt(3)/2), 6);
(%o3) [%i+sqrt(3),2*%i,%i-sqrt(3),-%i-sqrt(3),-2*%i,sqrt(3)-%i]
Now cube each result.
(%i4) map(lambda([x],ratsimp(x^3)),
genroots_from_principal(2*(%i/2+sqrt(3)/2),6));
(%o4) [8*%i,-8*%i,8*%i,-8*%i,8*%i,-8*%i]
We get three expressions that satisfy z^3=8 and three that do not,
that is, three wrong answers. If instead we assume that (-1)^(1/6)
represents any one of a specific set of three of the six roots, then
solve has listed each of the three solutions exactly once.
HTH
--John