Python NumPyでチェビシェフ級数を微分する方法:chebder()で各階微分にスカラー倍を適用
PythonのNumPyライブラリでは、polynomial.chebder()メソッドを使うことでチェビシェフ級数(Chebyshev series)を微分できます。このメソッドは、導関数のチェビシェフ級数を返します。具体的には、係数配列cを軸に沿ってm回微分した結果のチェビシェフ級数係数が得られ、各反復処理のたびに結果へスカラーsclが乗算されます。
引数cは、各軸に沿って低次から高次の順に並んだチェビシェフ級数の係数配列です。例えば、[1,2,3]は 1*T₀ + 2*T₁ + 3*T₂ という級数を表し、[[1,2],[1,2]]はaxis=0がx、axis=1がyの場合に 1*T₀(x)*T₀(y) + 1*T₁(x)*T₀(y) + 2*T₀(x)*T₁(y) + 2*T₁(x)*T₁(y) を表します。
chebder()メソッドのパラメータ
c:チェビシェフ級数の係数配列です。cが多次元の場合、異なる軸が異なる変数に対応し、各軸の次数は対応するインデックスによって決まります。
m:微分の回数です。非負の整数である必要があります(デフォルト:1)。
scl:各微分の結果に乗算されるスカラー値です。最終的な結果には scl**m が掛けられます。これは変数の線形変換を行う際に使用されます(デフォルト:1)。
axis:微分を行う対象の軸です(デフォルト:0)。
実行手順
まず、必要なライブラリをインポートします。
import numpy as np from numpy.polynomial import chebyshev as C
チェビシェフ級数の係数配列を作成します。
c = np.array([1,2,3,4])
係数配列を表示します。
print("Our coefficient 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)
チェビシェフ級数を微分するために、NumPyのpolynomial.chebder()メソッドを使用します。このメソッドは導関数のチェビシェフ級数を返します。ここでは、2回微分し、各微分にスカラー「-1」を乗算しています。
print("\nResult...\n",C.chebder(c, 2, scl = -1))
サンプルコード
import numpy as np
from numpy.polynomial import chebyshev as C
# チェビシェフ級数の係数配列を作成
c = np.array([1,2,3,4])
# 係数配列を表示
print("Our coefficient 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)
# chebder()メソッドでチェビシェフ級数を微分(2回微分、スカラー-1を乗算)
print("\nResult...\n",C.chebder(c, 2, scl = -1))
出力結果
Our coefficient Array... [1 2 3 4] Dimensions of our Array... 1 Datatype of our Array object... int64 Shape of our Array object... (4,) Result... [12. 96.]
このように、chebder()メソッドを使えば、チェビシェフ級数の任意の階数の微分を簡単に計算でき、スカラー倍を組み合わせることで変数の線形変換にも柔軟に対応できます。
-
Python NumPyのpolyder()で多項式を微分する方法:導関数の計算とスケーリング係数の適用
PythonのNumPyで多項式を微分するには、numpy.polynomialモジュールのpolynomial.polyder()メソッドを使用します。このメソッドは、多項式の係数cを指定した軸に沿ってm回微分した結果を返します。各微分の反復処理のたびに、結果はscl(スケーリング係数)で乗算されます。このスケーリング機能は、変数の線形変換を行う際に役立ちます。 引数cは、各軸に沿って低次から高次へと並べられた係数の配列です。例えば、[1,2,3]は多項式 1 + 2*x + 3*x**2 を表します。また、axis=0がx、axis=1がyに対応する場合、[[1,2],[1,2]]は 1
-
Python NumPyのpolyder()で多項式を微分し、各微分にスカラー倍を適用する方法
PythonのNumPyライブラリでは、多項式を微分するために polynomial.polyder() メソッドを使用します。このメソッドは、多項式の係数配列 c を指定した軸に沿って m 回微分した結果を返します。さらに、各微分のたびに結果へスケール係数 scl が掛けられます(このスケーリングは、変数の線形変換を行う際に役立ちます)。polyder()メソッドの引数について引数 c は多項式の係数を格納した配列で、次数の低い項から高い項へと順に並べます。例えば、[1,2,3] は多項式 1 + 2x + 3x² を表し、2次元配列の場合は [[1,2],[1,2]] が axis=0 を