【Python】べき乗と平方根・累乗根の計算

PythonのTopに戻る


 

 べき乗と平方根・累乗根の計算

整数のべき乗と平方根・累乗根の計算などは以下のように行える。

print(2 ** 2) # 2 の 2 乗 (int型)
# 4
print(2.0 ** 2) # 2 の 2 乗 (float型)
# 4.0
print(2. ** 2) # 2 の 2 乗 (float型)
# 4.0
print(2 ** 0.5) # 2 の 0.5 乗 (2の平方根)
# 1.4142135623730951
print(2 ** (1/3)) # 2 の3乗根
# 1.2599210498948732

勿論、負の値に対しても演算が可能である。

print((-2) ** 2) # -2 の 2 乗 (int型)
# 4
print((-2.0) ** 2) # -2 の 2 乗 (float型)
# 4.0
print((-2.) ** 2) # -2 の 2 乗 (float型)
# 4.0
print((-2) ** 0.5) # -2 の 0.5 乗 (-2の平方根)
# (8.659560562354934e-17+1.4142135623730951j)
print((-2) ** (1/3)) # -2 の3乗根
# (0.6299605249474367+1.0911236359717214j)

-2 ** 2 とすると -4 が返されるので要注意。-2 の 2 乗は (-2) ** 2 と書く必要がある。Pythonでは虚数単位を j で表記する

べき乗計算にはpow関数も使うことができる。pow(x, y) とするとxのy乗を返す。pow(x, y, z) とするとxのy乗をzで割った余りを返す。

print(pow(2, 10)) # 2 の 10 乗 (int型)
# 1024
print(pow(1.1, 10)) # 1.1 の 10 乗 (float型)
# 2.5937424601000023
print(pow(2, 10, 9)) # 2 の 10 乗を 9 で割った余り (int型)
# 7

mathモジュールを使うと平方根の計算にsqrt関数(スクエアルート)が使える。

import math
print(math.sqrt(2)) # 2の平方根
# 1.4142135623730951

なお、pow関数はmathモジュールをインポートしなくても使用可能である。

 

 複素数のべき乗計算

複素数のべき乗計算は以下のように書く。

print((2+1j)**2)
# (3+4j)
print((2+1j)**0.5)
# (1.455346690225355+0.34356074972251244j)
print((2+1j)**(-1+3j))
# (-0.0412481748413691+0.10335818768180485j)

2+1j としている点に気を付けよう。2+j では動作しないので注意。(2+1j)**(-1+3j) は $(2+i)^{-1+3i}$ を表すが、複素数の複素数乗はmathモジュールをインポートしなくても計算可能である。

詳しい複素数の計算については「複素数型変数の扱い方」も参考にされたい。


PythonのTopに戻る