This is also unsatisfactory, but works. The idea could maybe be used
in the logic of rectform or somewhere.
(%i1) domain:real$
(%i2) roots : solve(x^3=1,x);
(%o2) [x = (sqrt(3)*%i-1)/2,x = -(sqrt(3)*%i+1)/2,x = 1]
(%i3) ratsimp(rectform(inpart(roots,2,2) * gcfactor( 74* %i + 110)^(1/3)));
(%o3) %i+5
rectform usually returns the principal cube root, which is
the root with a positive imaginary part. But its
documentation doesn't say anything about it.
Multiplying any root of (74* %i + 110)^(1/3) by any of the
three cube roots of 1 will give another root of (74* %i +
110)^(1/3). So we try them all and see if we get the root we
want. In this case rectform is not choosing the principal
root of (74* %i + 110)^(1/3) (maybe because of domain:real
?), but the end result the root you want.
rectform(gcfactor( 74* %i + 110)^(1/3))
does choose the principal root, and the one you want,
but it is in an complicated form.
--John
On 10/01/2013 12:46 PM, Aleksas Domarkas wrote:
> see
> http://www.math.utexas.edu/pipermail/maxima/2013/034120.html
>
> The cube root of 110+74i would return 5+i.
> How compute this?
>
> (%i1) expand((5+%i)^3);
> (%o1) 74*%i+110
>
> Aleksas D
>
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima