Python NumPyで2次元係数配列を使って点(x, y, z)における3次元エルミート級数を評価する方法
PythonのNumPyライブラリでは、numpy.polynomial.hermite_eモジュールのhermeval3d()メソッドを使用することで、点(x, y, z)における3次元エルミートE級数(確率論者のエルミート多項式級数)を評価できます。このメソッドは、x、y、zから対応する値の組み合わせ(トリプル)で構成される各点に対して、多次元多項式の値を返します。
なお、NumPyには「hermite」モジュールと「hermite_e」モジュールの2種類が用意されています。hermite_eは物理学者向けではなく確率論者向けのエルミート多項式を扱うため、統計的な応用に適しています。
hermeval3d()メソッドのパラメータ
第1パラメータ:x, y, z
評価を行う点の座標を指定します。3次元級数は点(x, y, z)において評価され、x、y、zはすべて同じ形状である必要があります。リストやタプルが渡された場合は自動的にndarrayに変換され、ndarray以外のスカラー値として扱われることもあります。
第2パラメータ:C(係数配列)
級数の係数を格納した配列です。多重次数i, j, kの項に対応する係数はc[i, j, k]に格納されている必要があります。cの次元が3より大きい場合、残りのインデックスは複数の係数セットを列挙するために使用されます。
実装手順
まず、必要なライブラリをインポートします。
import numpy as np from numpy.polynomial import hermite_e as H
次に、係数の2次元配列を作成します。
c = np.arange(4).reshape(2,2)
作成した配列を表示して確認します。
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)最後に、hermeval3d()メソッドを使って点(1, 1, 1)および(2, 2, 2)における3次元エルミートE級数を評価します。
print("\nResult...\n",H.hermeval3d([1,2],[1,2],[1,2],c))完全なコード例
import numpy as np
from numpy.polynomial import hermite_e as H
# 係数の2次元配列を作成
c = np.arange(4).reshape(2,2)
# 配列を表示
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)
# hermeval3d()メソッドで点(x, y, z)における3次元エルミートE級数を評価
print("\nResult...\n",H.hermeval3d([1,2],[1,2],[1,2],c))出力結果
Our Array...
[[0 1]
[2 3]]
Dimensions of our Array...
2
Datatype of our Array object...
int64
Shape of our Array object...
(2, 2)
Result...
[24. 42.]解説
この例では、0から3までの整数を含む2×2の係数配列cを作成し、点(1, 1, 1)と(2, 2, 2)で3次元エルミートE級数を評価しました。その結果、[24. 42.]という浮動小数点型の配列が得られます。x、y、zに同じ長さのリストを渡すことで、複数の点を一度に効率的に評価できるのがこのメソッドの利点です。ベクトル化された計算により、大量のデータポイントに対する多項式評価も高速に処理できます。
-
Python NumPyのpolyval3d()メソッドで、点(x, y, z)における3D多項式を係数の2D配列から評価する方法
PythonのNumPyライブラリには、3次元多項式を指定した点で評価するためのpolynomial.polyval3d()メソッドが用意されています。このメソッドは、x、y、zに対応する値の組み合わせ(トリプル)から構成される各点において、多次元多項式の値を返します。polyval3d()メソッドのパラメータx、y、z:3次元級数を評価する点の座標です。x、y、zは同じ形状である必要があります。いずれかがリストやタプルの場合は、まずndarrayに変換されます。ndarrayでない場合はスカラーとして扱われます。c:係数を格納する配列です。多項式の次数 i, j, k に対応する項の係数は
-
Python NumPyのpolyval3d()メソッドで4D係数配列を使って点(x, y, z)の3D多項式を評価する方法
3D多項式を点(x, y, z)で評価するには、Python NumPyのpolynomial.polyval3d()メソッドを使用します。このメソッドは、x、y、zの対応する値から構成される三つ組の点における多次元多項式の値を返します。polyval3d()メソッドのパラメータ引数として渡すx、y、zは、同じ形状を持つ必要があります。いずれかがリストまたはタプルの場合は、まずndarrayに変換されます。ndarrayでない場合はスカラーとして扱われます。パラメータcは係数の配列で、多項式の次数 i, j, k に対応する項の係数が c[i,j,k] に格納されるように並べられています。cの