Python NumPyでチェビシェフ級数を点xで評価する方法
PythonのNumPyライブラリでは、numpy.polynomial.chebyshevモジュールに含まれるchebval()メソッドを使用することで、チェビシェフ級数を任意の点xで評価できます。この記事では、chebval()メソッドの各パラメータの意味と、実際のコード例を通じてその使い方を詳しく解説します。
chebval()メソッドのパラメータ
第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 chebyshev as C
係数の配列を作成します。
c = np.array([1, 2, 3])
配列を表示します。
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で評価します。
print("\nResult...\n",C.chebval(1,c))完全なコード例
import numpy as np
from numpy.polynomial import chebyshev as C
# 係数の配列を作成
c = np.array([1, 2, 3])
# 配列を表示
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=1で評価
print("\nResult...\n",C.chebval(1,c))実行結果
Our Array... [1 2 3] Dimensions of our Array... 1 Datatype of our Array object... int64 Shape of our Array object... (3,) Result... 6.0
この例では、係数[1, 2, 3]からなるチェビシェフ級数を点x=1で評価した結果、6.0が得られました。チェビシェフ級数は T₀(x)=1、T₁(x)=x、T₂(x)=2x²−1 という基底多項式で構成されるため、x=1では 1×T₀(1) + 2×T₁(1) + 3×T₂(1) = 1 + 2 + 3 = 6 となり、計算結果と一致します。
-
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 は係数の配列であり、多
-
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の項