Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでx、y、zのデカルト積上の3次元エルミート級数を評価する方法

Pythonでx、y、zのデカルト積(直積)上の点において3次元エルミート級数を評価するには、numpy.polynomial.hermiteモジュールのhermite.hermgrid3d(x, y, z, c)メソッドを使用します。このメソッドは、x、y、zのデカルト積の各点における三次元多項式の値を返します。

エルミート多項式は物理学や数値解析の分野で広く使われる直交多項式の一種であり、量子力学の調和振動子の波動関数などを表現する際にも登場します。NumPyを使えば、このような多項式級数の評価を効率的に行うことができます。

hermgrid3d()メソッドのパラメータ

x、y、z

三次元級数は、x、y、zのデカルト積の点において評価されます。x、y、zのいずれかがリストまたはタプルの場合、まずndarrayに変換されます。それ以外の場合はそのまま変更されず、ndarrayでなければスカラーとして扱われます。

c(係数配列)

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

次に、係数用の3次元配列を作成します。

c = np.arange(16).reshape(2,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、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

# 係数用の3次元配列を作成
c = np.arange(16).reshape(2,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)

# hermite.hermgrid3d(x, y, z, c)メソッドで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]]]

Dimensions of our Array...
3

Datatype of our Array object...
int64

Shape of our Array object...
(2, 2, 4)

Result...
    [[[    18.  5616.]
    [    38.  9832.]]

    [[    46. 10304.]
    [    90. 17960.]]]

このように、hermgrid3d()メソッドを使うことで、x=[1, 2]、y=[1, 2]、z=[1, 2]のデカルト積である8つの組み合わせ(2×2×2)の各点における3次元エルミート級数の値を一度に計算できます。結果の配列形状は(2, 2, 2)となり、入力配列の形状の組み合わせに従っていることが確認できます。

  1. 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 以外のオブジェク

  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 以外のスカラーが渡された場合は、そのままスカラーとして扱