Python NumPyのscimathで底2の対数を計算する方法(np.emath.log2の使い方)
PythonのNumPyでscimathを使って底2の対数(log2)を計算するには、np.emath.log2()メソッドを使用します。このメソッドは、指定した値xの底2の対数を返します。引数xがスカラーであれば結果もスカラーとして、配列であれば配列として返されます。第1パラメータのxは、底2の対数を求めたい値(または値の集合)です。
実行手順
まず、必要なライブラリをインポートします。
import numpy as np
array()メソッドを使ってNumPy配列を作成します。ここでは、正負の無限大や負の値など、さまざまなケースを含む配列を用意しています。
arr = np.array([np.inf, -np.inf, 16, np.exp(1), -np.exp(1), -32])
作成した配列を表示します。
print("Our Array...\n",arr)配列の次元数を確認します。
print("\nDimensions of our Array...\n",arr.ndim)配列のデータ型を確認します。
print("\nDatatype of our Array object...\n",arr.dtype)配列の形状を確認します。
print("\nShape of our Array object...\n",arr.shape)scimathを使って底2の対数を計算するために、np.emath.log2()メソッドを呼び出します。このメソッドは、入力がスカラーならスカラーを、配列なら配列を返します。
print("\nResult (log2)...\n",np.emath.log2(arr))サンプルコード
import numpy as np
# array()メソッドを使ってNumPy配列を作成
arr = np.array([np.inf, -np.inf, 16, np.exp(1), -np.exp(1), -32])
# 配列を表示
print("Our Array...\n",arr)
# 次元数を確認
print("\nDimensions of our Array...\n",arr.ndim)
# データ型を確認
print("\nDatatype of our Array object...\n",arr.dtype)
# 形状を確認
print("\nShape of our Array object...\n",arr.shape)
# scimathを使って底2の対数を計算
# スカラー入力ならスカラーを、配列入力なら配列を返す
print("\nResult (log2)...\n",np.emath.log2(arr))実行結果
Our Array... [ inf -inf 16. 2.71828183 -2.71828183 -32. ] Dimensions of our Array... 1 Datatype of our Array object... float64 Shape of our Array object... (6,) Result (log2)... [ inf+0.j inf+4.53236014j 4. +0.j 1.44269504+0.j 1.44269504+4.53236014j 5. +4.53236014j]
実行結果を見ると、通常のnp.log2()ではエラーやNaNになる負の値や-infに対しても、np.emath.log2()は複素数として適切に計算できていることがわかります。たとえば、-32の底2の対数は「5.+4.53236014j」という複素数の結果になります。これは、emathモジュールが自動的に複素数領域へ拡張して処理してくれるためです。
-
【Python・NumPy】np.linalg.det()で配列の行列式を計算する方法
線形代数において配列の行列式を計算するには、PythonのNumPyが提供する np.linalg.det() 関数を使用します。第1引数 a は、行列式を求める対象となる入力配列です。この関数は、計算された行列式の値を返します。なお、行列式とは正方行列に対して定義されるスカラー値であり、連立一次方程式の解の存在判定や逆行列の計算など、線形代数のさまざまな場面で重要な役割を果たします。手順まず、必要なライブラリをインポートします。import numpy as np配列を作成します。arr = np.array([[ 5, 10], [12, 18]])配列を表示します。print(Our A
-
【Python】NumPyで自然対数(log)を計算する方法
自然対数(log)は指数関数の逆関数であり、log(exp(x)) = x という関係が成り立ちます。自然対数とは、ネイピア数 e を底とする対数のことです。NumPy の np.log() メソッドは、入力 x の自然対数を要素ごとに計算して返します。x がスカラーであれば、戻り値もスカラーになります。 主なパラメータ 第1引数(x): 入力値。配列様(array-like)オブジェクトを指定します。 第2引数(out): 結果を格納する場所。指定する場合は、入力がブロードキャストされる形状と一致している必要があります。省略した場合や None を指定した場合は、新たに確保された配列が返さ