2. Mathモジュールの Cbrt 関数を利用(推奨)
2. Mathモジュールの Cbrt 関数を利用(推奨)にまつわる最新トピックを詳しく紐解きます。
実数の範囲において、「負の数の1/3乗」は明確に存在します。例えば、-8の三乗根は以下のように-2となります。
$(-2) \times (-2) \times (-2) = -8$ ⇒ $(-8)^{1/3} = -2$
平方根(ルート)では偶数乗のため実数解が存在しません(虚数単位 $i$ が必要)が、奇数乗である三乗根は負の数の符号をそのまま維持します。
システムや言語による「複素数」の落とし穴
注意すべきは、コンピュータや電卓の内部処理です。例えばPythonで「(-8) (1/3)」を実行すると、実数の「-2」ではなく複素数「(1.0000000000000002+1.7320508075688772j)」が返されます。
これは数学の複素解析において、主値(プリンシパルバリュー)と呼ばれる解を優先して返す仕様によるものです。実数としての「-2」を得たい場合は、前述した「math.cbrt(-8)」や「np.cbrt(-8)」を使用するか、符号を分離して計算する必要があります。