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

Pythonで係数が多次元の場合に点xでチェビシェフ級数を評価する方法

PythonのNumPyライブラリには、チェビシェフ級数を任意の点で評価するためのchebyshev.chebval()メソッドが用意されています。本記事では、係数配列が多次元である場合に、指定した点xでチェビシェフ級数を評価する方法を、具体的なコード例とともにわかりやすく解説します。

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

第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 chebyshev as C

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

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)

最後に、chebyshev.chebval()メソッドを使って、点x=[1, 2]でチェビシェフ級数を評価します。

print("\nResult (chebval)...\n",C.chebval([1,2],c,tensor=True))

完全なコード例

import numpy as np
from numpy.polynomial import chebyshev as C

# 多次元の係数配列を作成
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)

# chebval()メソッドで点x=[1, 2]におけるチェビシェフ級数を評価
print("\nResult (chebval)...\n",C.chebval([1,2],c,tensor=True))

実行結果

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 (chebval)...
[[2. 4.]
[4. 7.]]

このように、tensor=Trueを指定することで、2×2の係数配列cの各列(各多項式)が、点x=[1, 2]のそれぞれの要素に対して個別に評価され、結果として2×2の行列が出力されます。各行が評価点に対応し、各列が係数配列の列(多項式)に対応しています。

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

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

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

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