Pythonでルジャンドル級数を積分する:積分定数を加える前に結果へスカラーを乗算する方法
ルジャンドル級数を積分するには、Pythonの numpy.polynomial.legendre.legint() メソッドを使用します。このメソッドは、ルジャンドル級数の係数 c を、指定した軸(axis)に沿って下限 lbnd から m 回積分した結果を返します。各反復処理のたびに、得られた級数は scl 倍された後、積分定数 k が加算されます。このスケーリング係数は、変数の線形変換を行う際に役立ちます。
主なパラメータ
- c(第1引数):ルジャンドル級数の係数を格納した配列です。c が多次元の場合、それぞれの軸が異なる変数に対応し、各軸の次数は対応するインデックスによって表されます。
- m(第2引数):積分の回数(次数)です。正の整数である必要があります(デフォルト: 1)。
- k(第3引数):積分定数です。lbnd における第1積分の値がリストの先頭の値となり、第2積分の値が2番目の値、というように対応します。k == [](デフォルト)の場合、すべての積分定数はゼロに設定されます。また、m == 1 の場合はリストの代わりに単一のスカラーを指定することも可能です。
- lbnd(第4引数):積分の下限です(デフォルト: 0)。
- scl(第5引数):スカラー値です。各積分の後、積分定数を加算する前に、結果に対して scl が乗算されます(デフォルト: 1)。
- axis(第6引数):積分を実行する対象の軸です(デフォルト: 0)。
手順
まず、必要なライブラリをインポートします。
import numpy as np from numpy.polynomial import legendre as L
次に、係数の配列を作成します。
c = np.array([1,2,3])
配列を表示します。
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() メソッドを使用します。ここでは、スケーリング係数として scl = -2 を指定しています。これにより、各積分の後に結果が -2 倍されてから積分定数が加算されます。
print("\nResult...\n",L.legint(c, scl = -2))
サンプルコード
import numpy as np
from numpy.polynomial import legendre as L
# 係数の配列を作成
c = np.array([1,2,3])
# 配列を表示
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)
# legint()メソッドでルジャンドル級数を積分(scl = -2 を指定)
print("\nResult...\n",L.legint(c, scl = -2))
出力結果
Our Array... [1 2 3] Dimensions of our Array... 1 Datatype of our Array object... int64 Shape of our Array object... (3,) Result... [-0.66666667 -0.8 -1.33333333 -1.2 ]
このように、L.legint() に scl = -2 を渡すことで、積分結果にスカラー -2 が乗算され、その後デフォルトの積分定数(0)が加算された新しいルジャンドル級数の係数配列が返されます。積分により係数の数が1つ増え、次数が1つ上がっている点にも注目してください。
-
Pythonのpolyint()メソッドで多項式を積分し、積分定数を設定する方法
Pythonで多項式を積分するには、NumPyのpolynomialモジュールが提供するpolyint()メソッドを使用します。このメソッドは、多項式の係数配列cを下限lbndから指定した軸に沿ってm回積分し、その結果の係数配列を返します。 各積分の反復処理では、結果の級数にスケール係数sclが乗算され、その後に積分定数kが加算されます。このスケール係数は、変数の線形変換を行う際に使用されます。引数cは、各軸に沿って次数の低い順から高い順に並べられた係数の配列です。例えば、[1,2,3]は多項式「1 + 2*x + 3*x**2」を表し、[[1,2],[1,2]]はaxis=0がx、axis=
-
【Python】polyint()で多項式を積分し、スカラー倍してから積分定数を追加する方法
はじめにPythonで多項式を積分するには、NumPyの polynomial.polyint() メソッドを使用します。このメソッドは、係数配列 c を下限 lbnd から軸 axis に沿って m 回積分した結果の多項式係数を返します。各反復処理のたびに、得られた級数は scl 倍され、その後に積分定数 k が加算されます。このスケーリング係数は、変数の線形変換を行う際に活用されます。引数 c は、低次から高次の順に並んだ係数の配列です。例えば、[1,2,3] は多項式 1 + 2x + 3x² を表し、[[1,2],[1,2]] は axis=0 を x、axis=1 を y とした場合