Python NumPyのcheb2poly()メソッドでチェビシェフ級数を多項式に変換する方法
チェビシェフ級数を多項式に変換するには、PythonのNumPyが提供する numpy.polynomial.chebyshev.cheb2poly() メソッドを使用します。このメソッドは、低次から高次の順に並べられたチェビシェフ級数の係数を表す配列を受け取り、「標準」べき基底における等価な多項式の係数(同じく低次から高次の順)へと変換します。
戻り値は、低次の項から高次の項へと並べられた、等価な多項式の係数を格納した1次元配列です。引数 c には、低次の項から高次の項へと並べたチェビシェフ級数の係数を含む1次元配列を指定します。
なお、チェビシェフ級数とは、チェビシェフ多項式 T0(x)、T1(x)、T2(x)、… の線形結合として表される級数のことです。たとえば係数 [1, 2, 3] は 1・T0(x) + 2・T1(x) + 3・T2(x) を意味し、cheb2poly() はこれを x0、x1、x2、… のべき基底による表現へと書き換えます。
変換の手順
まず、必要なライブラリをインポートします。
import numpy as np from numpy import polynomial as P
numpy.array() メソッドを使って配列を作成します。
c = np.array([1, 2, 3, 4, 5])
配列を表示します。
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.cheb2poly() メソッドを使用します。
print("\nResult (chebyshev to polynomial)...\n",P.chebyshev.cheb2poly(c))
完全なコード例
import numpy as np
from numpy import polynomial as P
# numpy.array() メソッドで配列を作成
c = np.array([1, 2, 3, 4, 5])
# 配列を表示
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)
# cheb2poly() メソッドでチェビシェフ級数を多項式に変換
print("\nResult (chebyshev to polynomial)...\n",P.chebyshev.cheb2poly(c))
出力結果
Our Array...
[1 2 3 4 5]
Dimensions of our Array...
1
Datatype of our Array object...
int64
Shape of our Array object...
(5,)
Result (chebyshev to polynomial)...
[ 3. -10. -34. 16. 40.]
この結果から、入力したチェビシェフ級数の係数 [1, 2, 3, 4, 5] が、標準べき基底での多項式の係数 [3., -10., -34., 16., 40.] へと正しく変換されたことが分かります。すなわち、T0 + 2T1 + 3T2 + 4T3 + 5T4 というチェビシェフ級数は、3 − 10x − 34x2 + 16x3 + 40x4 という通常の多項式と数学的に同一であることを意味します。
-
Python NumPyのchebmulx()メソッドでチェビシェフ級数に独立変数を掛ける方法
Python NumPyでは、numpy.polynomial.chebyshev.chebmulx()メソッドを使うことで、チェビシェフ級数に独立変数 x を掛ける(乗算する)ことができます。このメソッドは、乗算結果を表す配列を返します。引数として渡すのは、次数の低い項から高い項へと並べたチェビシェフ級数の係数からなる1次元配列です。 なお、チェビシェフ多項式には x・Tn(x) = (Tn+1(x) + Tn-1(x)) / 2 という関係が成り立つため、chebmulx() は係数を効率よく再計算して新しい級数を返します。 実行手順 まず、必要なライブラリをインポートします。 impo
-
Pythonで多項式を積分する方法 – numpy.polynomial.polyint()の使い方
Pythonで多項式を積分するには、numpyライブラリのpolynomial.polyint()メソッドを使用します。このメソッドは、係数配列cを下限lbndから開始して指定した軸に沿ってm回積分し、その結果の多項式係数を返します。各反復処理では、得られた級数にsclが乗算され、積分定数kが加算されます。このスケーリング係数は、変数の線形変換を行う際に役立ちます。 引数cは係数の配列で、各軸に沿って低次から高次の順に並べます。例えば、[1,2,3]は多項式 1 + 2*x + 3*x**2 を表します。また、axis=0がx、axis=1がyである場合、[[1,2],[1,2]]は 1 +