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

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 となり、計算結果と一致します。

  1. 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 は係数の配列であり、多

  2. 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の項