Pythonでルジャンドル級数を微分する方法:numpyのlegder()メソッドの使い方
Pythonでルジャンドル級数を微分するには、NumPyの polynomial.legendre.legder() メソッドを使用します。このメソッドは、指定した軸に沿ってm回微分した後のルジャンドル級数の係数cを返し、反復処理のたびに結果がscl倍されます。本記事では、legder()メソッドのパラメータの意味と、実際のコード例・実行結果をわかりやすく解説します。
legder()メソッドのパラメータ
- 第1パラメータ「c」:ルジャンドル級数の係数を格納した配列です。cが多次元の場合、異なる軸はそれぞれ異なる変数に対応し、各軸の次数は対応するインデックスによって決まります。
- 第2パラメータ「m」:微分の回数です。負でない整数を指定する必要があります(デフォルト:1)。
- 第3パラメータ「scl」:スカラー値です。各微分の結果がscl倍されるため、最終的な結果は scl**m 倍になります。変数の線形変換(置換)を行う際に利用します(デフォルト:1)。
- 第4パラメータ「axis」:微分を行う対象の軸です(デフォルト:0)。
実行手順
まず、必要なライブラリをインポートします。
import numpy as np from numpy.polynomial import legendre as L
次に、ルジャンドル級数の係数配列を作成します。
c = np.array([1,2,3,4])
作成した配列を表示します。
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)
ルジャンドル級数を3階微分するには、legder()メソッドの第2引数に3を指定して呼び出します。
print("\nResult...\n",L.legder(c, 3))
完全なコード例
import numpy as np
from numpy.polynomial import legendre as L
# 係数の配列を作成
c = np.array([1,2,3,4])
# 配列を表示
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)
# legder()メソッドでルジャンドル級数を3階微分
print("\nResult...\n",L.legder(c, 3))
出力結果
Our Array...
[1 2 3 4]
Dimensions of our Array...
1
Datatype of our Array object...
int64
Shape of our Array object...
(4,)
Result...
[60.]
結果の検証
係数 [1, 2, 3, 4] のルジャンドル級数は、次のような多項式を表しています。
f(x) = 1·P₀(x) + 2·P₁(x) + 3·P₂(x) + 4·P₃(x) = 10x³ + 4.5x² − 4x − 0.5
これを3階微分すると、定数項・1次・2次の項はすべて消え、10x³の3階微分である 10 × 6 = 60 のみが残ります。したがって、出力結果 [60.] が正しいことが数学的にも確認できます。
-
PythonでHermiteE級数を微分する方法:numpy.polynomial.hermite_e.hermeder()の使い方
HermiteE(エルミートE)級数を微分するには、Pythonの numpy.polynomial.hermite_e モジュールが提供する hermeder() メソッドを使用します。このメソッドを使うことで、多項式を明示的に展開することなく、係数配列に対して直接微分演算を行うことができます。hermeder()メソッドのパラメータhermeder() メソッドは、以下の4つのパラメータを受け取ります。第1引数 c:HermiteE級数の係数を格納した配列です。c が多次元配列の場合、各軸が異なる変数に対応し、各軸ごとの次数は対応するインデックスによって表されます。第2引数 m:微分を行う
-
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