原です。

> なかだです。
> 
> At Wed, 26 Mar 2008 02:17:39 +0900,
> Shin-ichiro HARA wrote in [ruby-dev:34134]:
>>> (expt -8 1/3) ;=> #C(1.0 1.7320508)
>> ああ、なるほど。-8 の3乗根は、1+√3i ですか。
>>
>> そうすると、3乗根を取ることが3乗することの逆関数
>> でなくなるけど、その方がいいのかな。
> 
> (1+√3i)*(1+√3i) = 1+(-3)+2√3i = -2+2√3i = -2(1-√3i)
> -2(1-√3i)*(1+√3i) = -2(1-(-3)) = -8
> 
> でしょう。

書きながら表現が悪いなと思っていました、すいません。
正確には、「この定義では、3乗根を取ることが、実数から実数への
関数 y = x**3 の逆関数ではなくなる」と言うべきでした。

> なぜ実数解よりも虚数解が優先されるのかは疑問ですが。

ここが私も気になっていたのですが、鴫谷さんの言う通りで、
これは、z**(1/3) で z が正の実数である場合と整合的にする
ための一つの便法です。