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

【Python NumPy】多次元係数のラゲール級数を点xで評価する方法

PythonのNumPyライブラリでは、polynomial.laguerre.lagval()メソッドを使用することで、指定した点xにおけるラゲール級数の値を評価できます。本記事では、係数が多次元配列である場合の使い方を、具体的なコード例と出力結果とともに分かりやすく解説します。

ラゲール多項式は物理学や数値解析の分野で広く用いられる直交多項式の一種であり、NumPyの多項式モジュールを使えば、その級数展開の計算を簡単に行うことができます。

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

第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 laguerre as L

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

c = np.arange(4).reshape(2,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におけるラゲール級数を評価するには、polynomial.laguerre.lagval()メソッドを使用します。

print("\nResult...\n",L.lagval([1,2],c))

完全なコード例

import numpy as np
from numpy.polynomial import laguerre as L

# 多次元の係数配列を作成
c = np.arange(4).reshape(2,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におけるラゲール級数を評価
print("\nResult...\n",L.lagval([1,2],c))

出力結果

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

Dimensions of our Array...
2

Datatype of our Array object...
int64

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

Result...
    [[ 0. -2.]
    [ 1. -2.]]

結果の解釈

この例では、2×2の係数配列cに対して、点x = [1, 2]でラゲール級数を評価しています。tensor=True(デフォルト)のため、cの各列の係数がxの各要素(1と2)に対して個別に評価され、結果として2×2の配列が返されます。つまり、返された配列の各行は評価点に対応し、各列は係数配列の列に対応する多項式の評価結果を示しています。


  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]に格納されるように並べられていま