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

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]のそれぞれの値について評価されていることが確認できます。

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

  2. 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]に格納されるように順序付け