Python・NumPyでエルミート級数を微分する方法|hermder()で微分回数とスカラー倍を指定する
エルミート級数を微分するには、Pythonのhermite.hermder()メソッドを使用します。このメソッドはNumPyの多項式モジュールに含まれており、指定した回数だけエルミート級数を微分した結果の係数配列を返します。
hermite.hermder()の主なパラメータ
- c(第1引数):エルミート級数の係数からなる配列。cが多次元の場合、それぞれの軸が異なる変数に対応し、各軸における次数は対応するインデックスで表されます。
- m(第2引数):微分の回数。非負の整数である必要があります(デフォルト:1)。
- scl(第3引数):スカラー値。各微分のたびにsclが乗算され、最終的な結果はscl**m倍になります。変数の線形変換(置換)を行う際に便利です(デフォルト:1)。
- axis(第4引数):微分を適用する軸(デフォルト:0)。
手順
まず、必要なライブラリをインポートします。
import numpy as np from numpy.polynomial import hermite as H
次に、係数の配列を作成します。
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)エルミート級数を微分するには、Pythonのhermite.hermder()メソッドを使用します。
print("\nResult...\n",H.hermder(c, 2, scl = -1))完全なコード例
import numpy as np
from numpy.polynomial import hermite as H
# 係数の配列を作成
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)
# エルミート級数を微分するには、hermite.hermder()メソッドを使用
print("\nResult...\n",H.hermder(c, 2, 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...
[24. 96.]この例では、係数[1, 2, 3, 4]を持つエルミート級数に対して2階微分(m=2)を実行し、さらに各微分にスカラー-1(scl=-1)を掛けています。スカラーは各微分のステップごとに乗算されるため、最終的な結果はscl**m=(-1)²=1倍となり、単純な2階微分と同じ結果になります。出力された[24. 96.]は、通常の多項式で表すと「192x + 24」に相当する2階導関数の係数列です。
-
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 を