この記事では、Pythonで平方根を計算するさまざまな方法について説明します。
平方根って何?
数学では、ある数 ‘p’ の平方根は、p = q2 の条件に従う数 ‘q’ であるとされています。
Pythonでは、数の平方根を計算するための多くのメソッドを持っています。
ここでは、Pythonでよく知られている平方根を計算する方法をいくつか紹介します。
1. 指数演算子を使って平方根を計算する
この方法では、数値の平方根を求める関数を独自に定義します。
また、数の平方根を計算するために、Pythonの指数演算子(**
)を使用します。
定義した関数は、引数として数値を受け取り、それが正であれば数値の平方根を返し、そうでなければ警告を表示します。
これをPythonのコードで実装してみましょう。
# Define the user defined sqrt() function # to calculate the square root of a number def sqrt(N):
if N < 0 :
print ( 'Square root of negative number does not exist!' )
return
else :
print (f 'Square root of number {N}: {N**0.5}' )
return
# Call the above defined sqrt() function # to calculate the square root of a number sqrt( 441 )
sqrt( 0.81 )
sqrt( 6.25 )
sqrt( 634 )
sqrt( - 121 )
|
出力してください。
Square root of number 441: 21.0 Square root of number 0.81: 0.9 Square root of number 6.25: 2.5 Square root of number 634: 25.179356624028344 Square root of negative number does not exist! |
2. sqrt()関数の使用
Python では、sqrt()
関数は math モジュールで定義されている事前定義関数です。
sqrt()関数は、引数として渡された数値の平方根を返します。
Pythonのプログラムの中で、組み込みのsqrt()` 関数をどのように使うか見てみましょう。
# Import Python math module import math as m
# Call the predefined sqrt() function # to calculate the square root of a number print (f 'Square root of number 121: {m.sqrt(121)}' )
print (f 'Square root of number 0.49: {m.sqrt(0.49)}' )
print (f 'Square root of number 4.41: {m.sqrt(4.41)}' )
print (f 'Square root of number 265: {m.sqrt(265)}' )
|
出力してください。
Square root of number 121: 11.0 Square root of number 0.49: 0.7 Square root of number 4.41: 2.1 Square root of number 265: 16.278820596099706 |
注意: もし負の数がビルトイン sqrt() 関数の引数として渡された場合、math domain error がスローされます。
例を見てみましょう。
# Import Python math module import math as m
# Call the predefined sqrt() function # to calculate the square root of a negative number m.sqrt( - 125 )
|
結果は以下の通りです。
# Import Python math module import math as m
# Call the predefined pow() function # to calculate the square root of a number print (f 'Square root of number 625: {m.pow(625, 0.5)}' )
print (f 'Square root of number 0.64: {m.pow(0.64, 0.5)}' )
print (f 'Square root of number 1.21: {m.pow(1.21, 0.5)}' )
print (f 'Square root of number 7: {m.pow(7, 0.5)}' )
|
この記事もチェック:Pythonのmapメソッドの使い方|ラムダ関数や引数が複数の場合の使い方も解説
3. pow()関数の使用
この平方根の計算方法では、組み込みの pow() 関数を使用します。
Python では、pow()関数は
mathモジュールで定義された定義済みの関数です。
pow()関数は2つの引数を取り、1つは基数、もう1つは指数/べき乗で、最初の引数として渡された数値(基数)の平方根を返します。
平方根を計算するために、指数/べき乗の引数は 0.5 に固定されています。
それでは、ビルトインの関数 pow()
をPythonのプログラムの中でどのように使うか見てみましょう。
Square root of number 625: 25.0 Square root of number 0.64: 0.8 Square root of number 1.21: 1.1 Square root of number 7: 2.6457513110645907 |
結果は以下の通りです。
# Import Python math module import math as m
# Call the predefined pow() function # to calculate the square root of a negative number m. pow ( - 121 , 0.5 )
|
NOTE: ここでも、組み込みの pow()
関数の引数に負の数が渡されると、math domain error がスローされます。
例を見てみましょう。
# Import Python numpy module import numpy as np
# Define a numpy array arr = np.array([ 0 , 225 , 0.36 , 6.25 , 10 , - 15 ])
print ( 'NumPy array:' )
print (arr)
# Call the predefined np.sqrt() function # to calculate the square root of each element # in the numpy array print ( 'Returned NumPy array with Square roots:' )
print (np.sqrt(arr))
|
結果は、以下の通りになります。
NumPy array: [ 0. 225. 6.25 10. -15. ] Returned NumPy array with Square roots: [ 0. 15. 2.5 3.16227766 nan] <ipython-input-29-541b85f9361a>:13: RuntimeWarning: invalid value encountered in sqrt print(np.sqrt(arr)) |
この記事もチェック:Pythonでpow関数を使って乗数の計算をする方法
4. 組み込みの np.sqrt() 関数の使用
この平方根の求め方では、ビルトインの np.sqrt()
関数を使用します。
Pythonでは、np.sqrt()
関数はnumpyモジュールで定義されている事前定義関数です。
np.sqrt()関数は、引数として渡されたnumpy配列の対応する要素の平方根を各要素とするnumpy配列を返します。
それでは、組み込みのnp.sqrt()` 関数をPythonのプログラムの中でどのように使うか見てみましょう。
結果は以下の通りです。
注意: もしnumpyの配列に負の数があり、それがビルトインの np.sqrt()
関数に渡された場合、sqrtに無効な値があったというRuntimeWarningがスローされます。
そして、返されたnumpy配列の負の要素の平方根の場所にnan値を設定します。
まとめ
この記事では、Pythonで数値の平方根を計算するさまざまな方法を学びました。
また、 math.sqrt()
や math.pow()
、 numpy.sqrt()
などのPython関数の使い方も学びました。
みなさんがこれらのことをよく理解し、さらに探求し、学ぶことにわくわくしてくれることを願っています。