Python NumPyのhermeval()メソッドで点xにおけるHermite_e級数を評価する方法
PythonのNumPyライブラリでは、指定した点xにおけるHermite_e(エルミートE)級数の値を評価するために、numpy.polynomial.hermite_eモジュールのhermeval()メソッドを使用します。Hermite_e級数は、確率論・統計分野などで用いられる「確率論者のエルミート多項式」を基底とする多項式展開であり、本記事では実際のコード例とともにその評価方法を解説します。
hermeval()メソッドのパラメータ
第1パラメータ:x
xがリストまたはタプルとして渡された場合はndarrayに変換され、それ以外の場合はスカラーとしてそのまま扱われます。いずれの場合も、xまたはその要素は、自身および係数cの要素との加算・乗算をサポートしている必要があります。
第2パラメータ:C
係数の配列です。次数nの項に対応する係数がc[n]に格納されるように並べます。cが多次元の場合、残りのインデックスは複数の多項式を表します。2次元の場合、係数はcの列に格納されていると考えることができます。
第3パラメータ:tensor
Trueの場合、係数配列の形状は、xの各次元に対して右側へ1つずつ「1」を追加することで拡張されます。この操作においてスカラーの次元数は0とみなされます。その結果、c内のすべての係数列が、xのすべての要素に対して評価されることになります。Falseの場合は、xがcの列に対してブロードキャストされて評価されます。このキーワード引数は、cが多次元である場合に特に有用です。デフォルト値はTrueです。
Hermite_e級数を評価する手順
まず、必要なライブラリをインポートします。
import numpy as np from numpy.polynomial import hermite_e as H
次に、係数の多次元配列を作成します。
c = np.arange(8).reshape(2,4)
作成した配列を表示します。
print("Our Array...\n",c)配列の次元数を確認します。
print("\nDimensions of our Array...\n",c.ndim)データ型を取得します。
print("\nDatatype of our Array object...\n",c.dtype)配列の形状を取得します。
print("\nShape of our Array object...\n",c.shape)点xにおけるHermite_e級数を評価するには、hermite.hermeval()メソッドを使用します。
print("\nResult...\n",H.hermeval([1,2],c, tensor = True))完全なコード例
import numpy as np
from numpy.polynomial import hermite_e as H
# 係数の多次元配列を作成
c = np.arange(8).reshape(2,4)
# 配列を表示
print("Our Array...\n",c)
# 次元数を確認
print("\nDimensions of our Array...\n",c.ndim)
# データ型を取得
print("\nDatatype of our Array object...\n",c.dtype)
# 形状を取得
print("\nShape of our Array object...\n",c.shape)
# 点xにおけるHermite_e級数を評価
print("\nResult...\n",H.hermeval([1,2],c, tensor = True))出力結果
Our Array...
[[0 1 2 3]
[4 5 6 7]]
Dimensions of our Array...
2
Datatype of our Array object...
int64
Shape of our Array object...
(2, 4)
Result...
[[ 4. 8.]
[ 6. 11.]
[ 8. 14.]
[10. 17.]]このように、hermeval()メソッドにtensor=Trueを指定すると、係数配列の形状がxの各次元に対して拡張され、各係数列がx=[1, 2]のそれぞれの値について評価されていることが確認できます。
-
Pythonでx、y、zのデカルト積上の3次元Hermite_e級数を評価する方法
x、y、zのデカルト積(直積)上で3次元のHermite_e級数を評価するには、Pythonの hermite.hermegrid3d(x, y, z, c) メソッドを使用します。このメソッドは、x、y、zのデカルト積で構成される各点における3次元多項式の値を返します。hermegrid3d() メソッドのパラメータまず、パラメータ x、y、z について説明します。3次元級数は、これら3つの配列が作るデカルト積の各点で評価されます。x、y、z のいずれかがリストやタプルの場合は、自動的に ndarray に変換されます。ndarray 以外のスカラーが渡された場合は、そのままスカラーとして扱
-
Pythonで係数の1次元配列を使い、xとyのデカルト積上の2次元エルミートE級数を評価する方法
xとyのデカルト積(直積)上で2次元エルミートE級数(Hermite_e series)を評価するには、Pythonのhermite_e.hermegrid2d(x, y, c)メソッドを使用します。このメソッドは、xとyのデカルト積の各点における2次元多項式の値を返します。パラメータの詳細x、y:2次元級数は、xとyのデカルト積の点において評価されます。xまたはyがリストやタプルの場合は、まずndarrayに変換されます。それ以外の場合はそのまま保持され、ndarrayでなければスカラーとして扱われます。c:係数の配列です。次数i、jの項に対応する係数がc[i,j]に格納されるように順序付け