Pythonで特定の軸に沿ってルジャンドル級数を積分する方法
Pythonでルジャンドル級数(Legendre series)を積分するには、numpy.polynomial.legendre.legint() メソッドを使用します。このメソッドは、指定した軸に沿って係数配列 c を下限 lbnd から m 回積分した結果のルジャンドル級数の係数を返します。各反復処理のたびに、結果の級数はスケール係数 scl で乗算され、積分定数 k が加算されます。このスケール係数は、変数の線形変換を行う際に役立ちます。
legint() メソッドのパラメータ
第1パラメータ:c
ルジャンドル級数の係数を格納した配列です。c が多次元配列の場合、異なる軸がそれぞれ異なる変数に対応し、各軸における次数は対応するインデックスによって決まります。
第2パラメータ:m
積分の階数(何回積分するか)を指定します。正の整数である必要があります。(デフォルト:1)
第3パラメータ:k
積分定数です。1回目の積分結果の lbnd における値がリストの最初の要素、2回目の積分結果の lbnd における値が2番目の要素、というように対応します。k == [](デフォルト)の場合、すべての定数はゼロに設定されます。また、m == 1 の場合は、リストの代わりに単一のスカラー値を渡すことも可能です。
第4パラメータ:lbnd
積分の下限です。(デフォルト:0)
第5パラメータ:scl
スカラー値です。各積分の後、積分定数を加算する前に、結果が scl で乗算されます。(デフォルト:1)
第6パラメータ:axis
積分を実行する軸です。(デフォルト:0)
実行手順
まず、必要なライブラリをインポートします。
import numpy as np from numpy.polynomial import legendre 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)ルジャンドル級数を積分するには、polynomial.legendre.legint() メソッドを使用します。ここでは axis = 1 を指定して、軸1に沿って積分を実行します。
print("\nResult...\n",L.legint(c, axis = 1))サンプルコード
import numpy as np
from numpy.polynomial import legendre 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)
# 軸1に沿ってルジャンドル級数を積分
print("\nResult...\n",L.legint(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...
[[0.16666667 0. 0.33333333]
[0.5 2. 1. ]]このように、axis パラメータを指定することで、多次元配列の任意の軸に沿ってルジャンドル級数を柔軟に積分できます。デフォルトでは軸0が対象となりますが、上記の例のように axis = 1 を指定すれば、行方向ではなく列方向に沿った積分が可能になります。
-
Python NumPyのchebder()メソッドで特定の軸に沿って多次元係数のチェビシェフ級数を微分する方法
チェビシェフ級数を微分するには、Python NumPy の polynomial.chebder() メソッドを使用します。このメソッドは、導関数のチェビシェフ級数を返します。具体的には、引数 c で与えられたチェビシェフ級数の係数を、指定した軸に沿って m 回微分した結果を返し、反復のたびに結果が scl 倍されます。引数 c は、各軸に沿って次数の低い項から高い項へと並べられた係数の配列です。たとえば [1,2,3] は 1*T_0 + 2*T_1 + 3*T_2 という級数を表し、[[1,2],[1,2]] は axis=0 が x、axis=1 が y に対応する場合、1*T_0(x
-
Pythonで特定の軸に沿って多次元係数のHermite_e級数を微分する方法
Hermite_e級数を微分するには、PythonのNumPyライブラリが提供する hermite_e.hermeder() メソッドを使用します。このメソッドを使うことで、多次元の係数配列に対して、指定した軸方向に沿って効率的に微分計算を行うことができます。hermeder() メソッドのパラメータ第1パラメータ(c): Hermite_e級数の係数を格納した配列です。cが多次元の場合、各軸はそれぞれ異なる変数に対応し、各軸における次数は対応するインデックスによって決まります。第2パラメータ(m): 微分を適用する回数です。非負の整数である必要があります。(デフォルト: 1)第3パラメータ(