N-th roots of complex numbers?



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