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

Python NumPyで多次元係数のHermite_e級数を点xで評価する方法

Hermite_e級数の評価とは

点xにおけるHermite_e級数を評価するには、Python NumPyのhermite.hermeval()メソッドを使用します。Hermite_e級数(確率論者のエルミート多項式)は、Hen(x) = (-1)n ex²/2 dn/dxn e-x²/2 で定義される直交多項式系であり、統計学や量子力学などの分野で広く利用されています。

パラメータの詳細

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

C(第2引数):係数の配列で、次数nの項の係数がc[n]に格納されるように順序付けられています。cが多次元の場合、残りのインデックスによって複数の多項式を同時に表現できます。2次元の場合、係数はcの各列に格納されていると考えることができます。

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

実行手順

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

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

np.arange()とreshape()を組み合わせて、多次元の係数配列を作成します。

c = np.arange(4).reshape(2,2)

作成した配列を表示します。

print("配列の内容...\n",c)

配列の次元数を確認します。

print("\n配列の次元数...\n",c.ndim)

配列オブジェクトのデータ型を取得します。

print("\n配列オブジェクトのデータ型...\n",c.dtype)

配列オブジェクトの形状を取得します。

print("\n配列オブジェクトの形状...\n",c.shape)

hermite.hermeval()メソッドを使用して、点[1, 2]におけるHermite_e級数を評価します。

print("\n結果...\n",H.hermeval([1,2],c))

完全なサンプルコード

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

# 多次元の係数配列を作成
c = np.arange(4).reshape(2,2)

# 配列を表示
print("配列の内容...\n",c)

# 次元数を確認
print("\n配列の次元数...\n",c.ndim)

# データ型を確認
print("\n配列オブジェクトのデータ型...\n",c.dtype)

# 形状を確認
print("\n配列オブジェクトの形状...\n",c.shape)

# 点xにおけるHermite_e級数を評価するには、hermite.hermeval()メソッドを使用します
print("\n結果...\n",H.hermeval([1,2],c))

出力結果

配列の内容...
    [[0 1]
    [2 3]]

配列の次元数...
2

配列オブジェクトのデータ型...
int64

配列オブジェクトの形状...
(2, 2)

結果...
    [[2. 4.]
    [4. 7.]]

結果の解説

この例では、係数配列cは2×2の行列で、各列が1つの多項式を表しています。具体的には、第1列の係数[0, 2]は「2x」という多項式に、第2列の係数[1, 3]は「1 + 3x」という多項式に対応します。点x=[1, 2]でそれぞれを評価すると、出力の各行が評価点(1または2)に対応し、各列が対応する多項式の計算結果となります。たとえば、x=1のとき「2x」は2、「1+3x」は4となるため、結果の最初の行は[2. 4.]になっています。

  1. Python NumPyで多次元係数のエルミート級数を点xで評価する方法

    点xにおけるエルミート級数を評価するには、PythonのNumPyが提供する hermite.hermval() メソッドを使用します。この記事では、係数配列が多次元である場合の使い方を、パラメータの詳細とサンプルコードを交えて解説します。hermite.hermval() のパラメータ第1パラメータ: xxがリストまたはタプルの場合はndarrayに変換され、それ以外の場合はそのまま変更されずにスカラーとして扱われます。いずれの場合も、xまたはその要素は、自身およびcの要素との加算・乗算をサポートしている必要があります。第2パラメータ: Cn次の項の係数が c[n] に格納されるように順序付

  2. Python NumPyのpolyval()で多次元係数の多項式を評価する方法

    Pythonで点xにおける多項式を評価するには、numpy.polynomial.polynomialモジュールのpolyval()メソッドを使用します。このメソッドは、係数が多次元配列の場合にも柔軟に対応できる強力な機能です。polyval()メソッドのパラメータ第1引数:xxは評価を行う点です。リストやタプルを指定した場合はndarrayに変換され、それ以外の場合はスカラーとしてそのまま扱われます。いずれの場合も、xまたはその要素は、自身および係数cの要素との加算・乗算をサポートしている必要があります。第2引数:ccは係数の配列で、次数nの項の係数がc[n]に格納されるように並べられていま