I suspect that the difference is that float chooses the real value of
negative numbers to odd fractional powers, e.g., (-1)^(1/3) => -1, while
rectform chooses the principal value => 1/2+sqrt(3)/2*%i. This is with the
default value of domain:real. With domain:complex, float leaves (-1)^(1/3)
unevaluated.
But as I said before (not sure why I bother to write my emails if you don't
read them--this is the second time), you are more likely to get tractable
solutions if you substitute for x *before* solving, e.g.
eqs: subst([y=p[2]],eq)$
solve(eqs,y) => [x = -(3*sqrt(7)*%i+7)/4,x = (3*sqrt(7)*%i-7)/4,x = 2]
Then it is clear which is the real solution.
Now if you're interested in a general parametric solution for *x, y*, you
should be using solve(eq,[x,y]). Which solution is/are real will depend on
the value of the parameter....
-s
On Mon, Apr 1, 2013 at 9:01 AM, Stavros Macrakis <macrakis at alum.mit.edu>wrote:
> On Sun, Mar 31, 2013 at 4:53 PM, Thomas D. Dean <tomdean at speakeasy.o
> rg <tomdean at speakeasy.org>> wrote:
>
>> imagpart(...) seems to re-order its arguments.
>
>
> Doubtful. More likely that radcan is choosing different branches for some
> roots, but I don't have time to look into it.
>
> Perhaps you can isolate a minimal example of this behavior?
>
> -s
>
>