Pythonで特定の軸に沿って多次元係数のラゲール級数を微分する方法
ラゲール級数を微分するには、Pythonの numpy.polynomial.laguerre モジュールが提供する laguerre.lagder() メソッドを使用します。このメソッドは、指定した軸に沿って m 回微分したラゲール級数の係数を返します。また、各微分のたびに結果は scl 倍されます。
lagder() メソッドの引数について
係数 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) を表します。
- 第1引数 c: ラゲール級数の係数の配列。c が多次元の場合、それぞれの軸が異なる変数に対応し、各軸の次数は対応するインデックスによって決まります。
- 第2引数 m: 微分の回数。非負の整数である必要があります(デフォルト: 1)。
- 第3引数 scl: スカラー値。各微分の結果に乗算され、最終的な結果は
scl**m倍になります。線形な変数変換を行う際に利用されます(デフォルト: 1)。 - 第4引数 axis: 微分を行う対象の軸です(デフォルト: 0)。
実行手順
まず、必要なライブラリをインポートします。
import numpy as np from numpy.polynomial import laguerre as L
次に、多次元の係数配列を作成します。
c = np.arange(4).reshape(2,2)
作成した配列を表示して確認しましょう。
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)最後に、laguerre.lagder() メソッドを使って、axis=1 の方向にラゲール級数を微分します。
print("\nResult...\n",L.lagder(c, axis = 1))サンプルコード全体
import numpy as np
from numpy.polynomial import laguerre as L
# 多次元の係数配列を作成
c = np.arange(4).reshape(2,2)
# 配列を表示
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()メソッドでaxis=1方向に微分
print("\nResult...\n",L.lagder(c, axis = 1))実行結果
Our Array...
[[0 1]
[2 3]]
Dimensions of our Array...
2
Datatype of our Array object...
int64
Shape of our Array object...
(2, 2)
Result...
[[-1.]
[-3.]]このように、lagder() メソッドに axis 引数を指定することで、多次元のラゲール級数に対して任意の軸方向に柔軟に微分演算を適用できます。変数が複数ある多変量の級数を扱う場合にも、どの変数について微分するかを明確に制御できるのが大きな利点です。
-
Python NumPyのpolyder()で軸1に沿って多次元係数の多項式を微分する方法
PythonのNumPyで多項式を微分するには、polynomial.polyder()メソッドを使用します。このメソッドは、指定した軸(axis)に沿って多項式係数cをm回微分した結果を返します。各反復処理のたびに結果はscl(スケーリング係数、線形変数変換の際に使用)で乗算されます。引数cは、各軸に沿って低次から高次へと並んだ係数の配列です。例えば、[1,2,3]は多項式 1 + 2*x + 3*x**2 を表し、[[1,2],[1,2]]はaxis=0がx、axis=1がyである場合、1 + 1*x + 2*y + 2*x*y を表します。polyder()メソッドのパラメータc(第1パ
-
Python NumPyのpolyder()で特定の軸に沿って多項式を微分する方法
PythonのNumPyでは、polynomial.polyder()メソッドを使うことで多項式を微分できます。このメソッドは、指定した軸(axis)に沿って多項式の係数cをm回微分した結果を返します。各反復処理のたびに、結果はscl(スケーリング係数)と掛け合わされます。このスケーリング係数は、変数の線形変換を行う際に使用されます。polyder()メソッドの引数について係数配列cは、各軸に沿って次数の低いものから高いものへと並べられます。例えば、[1,2,3]は「1 + 2*x + 3*x**2」という多項式を表し、[[1,2],[1,2]]はaxis=0がx、axis=1がyである場合、