Python NumPyのhermval2d()メソッドを使って、点(x, y)における2次元エルミート級数を1次元係数配列で評価する方法
PythonのNumPyライブラリには、多項式を扱うための便利なモジュールが多数用意されています。その中でも、エルミート級数(Hermite series)の評価に役立つのが numpy.polynomial.hermite モジュールです。本記事では、hermite.hermval2d() メソッドを使用して、点 (x, y) における2次元エルミート級数を評価する方法を解説します。
hermval2d() メソッドは、xとyの対応する値から構成される点群において、2次元多項式の値を返します。
hermval2d()メソッドのパラメータ
第1パラメータ:x, y
2次元級数は点 (x, y) で評価されます。ここで、xとyは同じ形状(shape)である必要があります。xまたはyがリストやタプルの場合、まずndarrayに変換されます。すでにndarrayであればそのまま使用され、ndarrayでない場合はスカラーとして扱われます。
第2パラメータ:C
係数の配列です。多重次数 i, j の項の係数が c[i, j] に格納されるように並べられています。c の次元が2より大きい場合、残りのインデックスは複数の係数セットを列挙します。
実装手順
まず、必要なライブラリをインポートします。
import numpy as np from numpy.polynomial import hermite as H
次に、係数の1次元配列を作成します。
c = np.array([3, 5])
作成した配列を表示します。
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)
最後に、hermite.hermval2d() メソッドを使って、点 (x, y) における2次元エルミート級数を評価します。
print("\nResult...\n",H.hermval2d([1,2],[1,2],c))
完全なコード例
import numpy as np
from numpy.polynomial import hermite as H
# 係数の1次元配列を作成
c = np.array([3, 5])
# 配列を表示
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)
# hermval2d()メソッドで点(1,1)と(2,2)における2次元エルミート級数を評価
print("\nResult...\n",H.hermval2d([1,2],[1,2],c))
実行結果
Our Array...
[3 5]
Dimensions of our Array...
1
Datatype of our Array object...
int64
Shape of our Array object...
(2,)
Result...
[ 59. 105.]
結果の解釈
この例では、係数配列 c = [3, 5] を使用しています。1次元配列の係数は、2次元級数では対角成分として扱われるため、評価される多項式は H₀(x)H₀(y)·3 + H₁(x)H₁(y)·5 となります。点 (1, 1) での評価結果は 59、点 (2, 2) での評価結果は 105 となっています。
このように、hermval2d() メソッドを使えば、複雑な2次元エルミート級数の計算も簡単かつ効率的に行うことができます。科学技術計算や数値解析の分野で、エルミート多項式は量子力学の調和振動子問題などにも応用されている重要な数学的ツールです。
-
Pythonで係数の1次元配列を使って点(x, y)における2次元多項式を評価する方法
点(x, y)において2次元多項式を評価するには、PythonのNumPyが提供する polynomial.polyval2d() メソッドを使用します。このメソッドは、xとyの対応する値のペアから構成される各点における2次元多項式の値を返します。polyval2d()メソッドのパラメータx, y: 2次元級数は点(x, y)で評価されます。xとyは同じ形状である必要があります。xまたはyがリストやタプルの場合、まずndarrayに変換されます。それ以外の場合はそのまま変更されず、ndarrayでなければスカラーとして扱われます。c: 係数の配列です。多重次数 i, j の項の係数が c[i,
-
【Python】NumPyのpolyval2d()で3次元配列の係数から点(x, y)における2次元多項式を評価する方法
点 (x, y) における2次元多項式を評価したい場合は、Python の NumPy ライブラリが提供する polynomial.polyval2d() メソッドを使用します。このメソッドは、x と y の対応する値同士のペアから構成される各点について、2次元多項式の値を計算して返します。 polyval2d() の主なパラメータ x および y(評価する点) 2次元級数を評価する対象となる点 (x, y) を指定します。ここで、x と y は必ず同じ形状である必要があります。引数としてリストやタプルを渡した場合は、内部で自動的に ndarray に変換されます。ndarray 以外のオ