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

Python NumPyで多次元係数配列を使って点xにおけるラゲール級数を評価する方法

PythonのNumPyライブラリでは、polynomial.laguerre.lagval()メソッドを使用することで、指定した点xにおいてラゲール級数を評価できます。この記事では、多次元の係数配列を扱う場合の使い方を、具体的なコード例とともに詳しく解説します。

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

第1引数: x

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

第2引数: C

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

第3引数: tensor

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

実装手順

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

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

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

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)

lagval()メソッドを使って、点x=[1, 2]におけるラゲール級数を評価します。

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

完全なコード例

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

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

まとめ

このように、NumPyのlagval()メソッドを使えば、多次元の係数配列を持つラゲール級数を簡単に評価できます。tensor引数の挙動を理解しておくと、多次元配列を扱う際により柔軟な計算が可能になります。ラゲール多項式は量子力学や数値解析など、さまざまな分野で利用される重要な特殊関数なので、ぜひ活用してみてください。

  1. PythonのNumPyで点(x, y)における2次元ラゲール級数を評価する方法

    PythonのNumPyでは、polynomial.laguerre.lagval2d()メソッドを使用することで、点xにおける2次元ラゲール級数を評価できます。このメソッドは、xとyの対応する値のペアから構成される点における2次元多項式の値を返します。lagval2d()メソッドのパラメータ第1パラメータ(x, y): 2次元級数は点(x, y)において評価されます。xとyは同じ形状である必要があります。xまたはyがリストやタプルの場合、まずndarrayに変換されます。それ以外の場合はそのまま変更されず、ndarrayでなければスカラーとして扱われます。第2パラメータ(C): 係数の配列で

  2. Python NumPyのhermite.hermval()で多次元係数配列を使って点xにおけるエルミート級数を評価する方法

    エルミート級数を特定の点xで評価したい場合、PythonのNumPyライブラリが提供する hermite.hermval() メソッドを使用します。エルミート多項式は物理学や確率論などの分野で広く利用される直交多項式の一種であり、NumPyを活用すればその計算をシンプルかつ効率的に行うことができます。hermite.hermval()メソッドの主なパラメータ第1パラメータ:xxがリストまたはタプルの場合はndarrayに変換され、それ以外の場合は変更されずにスカラーとして扱われます。いずれの場合も、xまたはその要素は、自身同士および係数配列cの要素との加算・乗算をサポートしている必要があります