2. Mathモジュールの Cbrt 関数を利用(推奨)

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)」を使用するか、符号を分離して計算する必要があります。

中島 亮太
著者

中島 亮太

シンプルで洗練された住まいづくりとインテリアコーディネートのアイデアを提案しています。