PythonのNumPyで4次元の係数配列を使い、x・y・zのデカルト積上で3Dエルミート級数を評価する方法
x、y、zのデカルト積(直積)上で3次元エルミート級数を評価するには、Pythonの hermite.hermgrid3d(x, y, z, c) メソッドを使用します。このメソッドは、x、y、zのデカルト積に含まれる各点における多項式の値を返します。
パラメータの説明
x、y、z: 3次元級数を評価する対象となる点を指定します。x、y、zのいずれかがリストやタプルの場合は、まずndarrayに変換されます。それ以外の場合はそのまま変更されず、ndarrayでなければスカラーとして扱われます。
c: 係数の配列です。次数i、jの項に対応する係数が c[i,j] に格納されるように並べられている必要があります。cの次元が3より大きい場合、残りのインデックスは複数の係数セットを表します。また、cの次元が3未満の場合は、暗黙的に1が形状に追加され、3次元として処理されます。結果の形状は c.shape[3:] + x.shape + y.shape + z.shape になります。
実装の手順
まず、必要なライブラリをインポートします。
import numpy as np from numpy.polynomial import hermite as H
次に、係数用の4次元配列を作成します。
c = np.arange(48).reshape(2,2,6,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)
x、y、zのデカルト積上で3次元エルミート級数を評価するには、hermite.hermgrid3d(x, y, z, c) メソッドを使用します。
print("\nResult...\n",H.hermgrid3d([1,2],[1,2],[1,2],c))
完全なコード例
import numpy as np
from numpy.polynomial import hermite as H
# 係数の4次元配列を作成
c = np.arange(48).reshape(2,2,6,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)
# hermite.hermgrid3d() でx、y、zのデカルト積上の3次元エルミート級数を評価
print("\nResult...\n",H.hermgrid3d([1,2],[1,2],[1,2],c))
実行結果
Our Array...
[[[[ 0 1]
[ 2 3]
[ 4 5]
[ 6 7]
[ 8 9]
[10 11]]
[[12 13]
[14 15]
[16 17]
[18 19]
[20 21]
[22 23]]]
[[[24 25]
[26 27]
[28 29]
[30 31]
[32 33]
[34 35]]
[[36 37]
[38 39]
[40 41]
[42 43]
[44 45]
[46 47]]]]
Dimensions of our Array...
4
Datatype of our Array object...
int64
Shape of our Array object...
(2, 2, 6, 2)
Result...
[[[[-8100. 32472.]
[-14148. 56976.]]
[[-14796. 59832.]
[-25740. 104480.]]]
[[[-8343. 33543.]
[-14553. 58761.]]
[[-15201. 61617.]
[-26415. 107455.]]]]
このように、hermgrid3d() メソッドを使うことで、複数の点の組み合わせに対する3次元エルミート級数の値を一度に効率的に計算できます。結果の配列形状は、係数配列の余分な次元と入力配列 x、y、z の形状を組み合わせたものになっていることが確認できます。
-
Pythonで係数の4次元配列を使い、x・y・zのデカルト積上で3D Hermite_e級数を評価する方法
3次元のHermite_e級数(エルミートE級数)を x、y、z のデカルト積上で評価するには、Python の NumPy ライブラリが提供する hermite_e.hermegrid3d(x, y, z, c) メソッドを使用します。このメソッドは、x、y、z の各要素の組み合わせ(デカルト積)からなるすべての点における多項式の値を返します。hermegrid3d() メソッドのパラメータx, y, z: 3次元級数は、これら3つの配列のデカルト積で定義される点において評価されます。引数がリストやタプルで渡された場合は、まず 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]に格納されるように順序付け