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

Python NumPyのhermeval()メソッドで多次元係数配列を使って点xにおけるHermite_e級数を評価する方法

PythonのNumPyライブラリでは、numpy.polynomial.hermite_eモジュールのhermite.hermeval()メソッドを使用することで、指定した点xにおけるHermite_e級数(確率論的エルミート級数)の値を評価できます。本記事では、多次元の係数配列を用いた評価方法について、各パラメータの意味と具体的なコード例を交えて分かりやすく解説します。

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

第1引数:x(評価する点)

xがリストやタプルの場合はndarrayに変換され、それ以外の場合は変更されずにスカラーとして扱われます。いずれの場合も、xまたはその要素は、自身との加算・乗算、および係数配列cの要素との加算・乗算をサポートしている必要があります。

第2引数:C(係数配列)

次数nの項に対応する係数がc[n]に格納されるように並べられた係数の配列です。cが多次元の場合、残りのインデックスは複数の多項式を表します。2次元の場合、係数はcの各列に格納されていると考えることができます。

第3引数:tensor(テンソル展開の有無)

Trueの場合、係数配列の形状は右側に1が追加されて拡張されます。この拡張はxの各次元ごとに行われ、スカラーの次元は0として扱われます。その結果、c内のすべての係数列がxのすべての要素に対して評価されます。Falseの場合、xはcの列に対してブロードキャストされます。このキーワードは、cが多次元である場合に特に有用です。デフォルト値はTrueです。

実行手順

まず、必要なライブラリをインポートします。

import numpy as np
from numpy.polynomial import hermite_e as H

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

c = np.array([[1,2],[3,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))

コード例全体

import numpy as np
from numpy.polynomial import hermite_e as H

# 多次元の係数配列を作成
c = np.array([[1,2],[3,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)

# hermeval()メソッドで点xにおけるHermite_e級数を評価
print("\nResult...\n",H.hermeval([1,2],c))

出力結果

Our Array...
    [[1 2]
    [3 4]]

Dimensions of our Array...
2

Datatype of our Array object...
int64

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

Result...
    [[ 4. 7.]
    [ 6. 10.]]

このように、2×2の多次元係数配列cを渡すことで、点x=[1, 2]に対して複数の多項式が同時に評価され、結果も2×2の配列として返されます。tensor引数のデフォルト値がTrueであるため、係数配列の各列がxの各要素に対して個別に評価されている点に注目してください。

  1. Python NumPyで2D係数配列を使って点(x, y, z)における3Dチェビシェフ級数を評価する方法

    点(x, y, z)における3次元チェビシェフ級数を評価するには、PythonのNumPyが提供するpolynomial.chebval3d()メソッドを使用します。このメソッドは、x、y、zの対応する値の組み合わせから構成される各点における多次元多項式の値を返します。 パラメータの説明 x、y、z:3次元級数は点(x, y, z)において評価されます。x、y、zはすべて同じ形状を持つ必要があります。いずれかがリストやタプルの場合は、まずndarrayに変換されます。ndarrayでない場合は、スカラーとして扱われます。 c:係数の配列です。多重次数i, j, kの項に対応する係数はc[i,

  2. Python NumPyで1次元の係数配列を使って点(x, y)における2次元チェビシェフ級数を評価する方法

    点 (x, y) における2次元チェビシェフ級数を評価するには、Python の NumPy が提供する polynomial.chebval2d() メソッドを使用します。このメソッドは、x と y の対応する値同士をペアにして構成された各点における、2次元チェビシェフ級数の値を返します。 級数は点 (x, y) において評価されます。ここで、x と y は同じ形状を持つ必要があります。x または y がリストやタプルの場合は、まず ndarray に変換されます。それ以外の場合は元のまま変更されず、ndarray でなければスカラーとして扱われます。 パラメータ c は係数の配列であり、多