Pythonでラゲール級数を微分し、各階微分にスカラーを掛ける方法
ラゲール(Laguerre)級数を微分するには、Pythonの numpy.polynomial.laguerre モジュールに含まれる lagder() メソッドを使用します。このメソッドは、指定された係数配列 c を軸に沿って m 回微分した結果のラゲール級数の係数を返します。各微分の反復ごとに結果は scl 倍されるため、最終的な出力には scl**m が掛かることになります。
引数 c は、各軸に沿って低次から高次へと並んだ係数の配列です。たとえば [1,2,3] は「1*L_0 + 2*L_1 + 3*L_2」という級数を表します。また、[[1,2],[1,2]] の場合、axis=0 を x、axis=1 を y とすると、「1*L_0(x)*L_0(y) + 1*L_1(x)*L_0(y) + 2*L_0(x)*L_1(y) + 2*L_1(x)*L_1(y)」という2変数の級数を表します。
lagder() メソッドの主な引数
- c: ラゲール級数の係数を格納した配列です。多次元配列を渡した場合、異なる軸がそれぞれ異なる変数に対応し、各軸の次数は対応するインデックスによって決まります。
- m: 微分を行う回数です。非負の整数である必要があります(デフォルト: 1)。
- scl: スカラー値です。各微分のたびにこの値が掛けられ、最終的には scl**m 倍になります。線形の変数変換を行う際に便利です(デフォルト: 1)。
- axis: 微分を実行する対象の軸です(デフォルト: 0)。
実行手順
まず、必要なライブラリをインポートします。
import numpy as np from numpy.polynomial import laguerre 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)
ラゲール級数を微分するために、lagder() メソッドを使用します。ここでは scl = -1 を指定しています。
print("\nResult...\n",L.lagder(c, scl = -1))
サンプルコード全体
import numpy as np
from numpy.polynomial import laguerre 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)
# lagder()メソッドでラゲール級数を微分(scl=-1を指定)
print("\nResult...\n",L.lagder(c, scl = -1))
実行結果
Our Array...
[1 2 3 4]
Dimensions of our Array...
1
Datatype of our Array object...
int64
Shape of our Array object...
(4,)
Result...
[9. 7. 4.]
このように、lagder() メソッドに scl 引数を指定することで、ラゲール級数を微分しながら各階微分に任意のスカラーを掛けた結果を簡単に得ることができます。変数の線形変換を伴う微分計算などで特に役立ちます。
-
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 を