【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 とした場合に 1 + 1x + 2y + 2xy を表します。
polyint()メソッドのパラメータ
このメソッドは、積分後の多項式の係数配列を返します。各パラメータの詳細は以下の通りです。
- c(第1パラメータ): 多項式の係数を格納した1次元配列。低次から高次の順に並べます。
- m(第2パラメータ): 積分の次数。正の整数である必要があります。(デフォルト: 1)
- k(第3パラメータ): 積分定数。リストの最初の値が1回目の積分におけるゼロでの値、2番目の値が2回目の積分におけるゼロでの値、というように対応します。k == [](デフォルト)の場合、すべての定数はゼロに設定されます。m == 1 の場合は、リストの代わりに単一のスカラー値を指定することも可能です。
- lbnd(第4パラメータ): 積分の下限。(デフォルト: 0)
- scl(第5パラメータ): 各積分の後、積分定数を加算する前に結果に乗算されるスカラー。(デフォルト: 1)
- axis(第6パラメータ): 積分を実行する軸。(デフォルト: 0)
手順
まず、必要なライブラリをインポートします。
import numpy as np from numpy.polynomial import polynomial as P
多項式の係数配列を作成します。
c = np.array([1,2,3])
係数配列を表示します。
print("Our coefficient 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.polyint() メソッドを使用します。ここでは、積分定数を追加する前に結果を -2 倍するよう、 scl = -2 を指定しています。
print("\nResult...\n",P.polyint(c, scl = -2))完全なコード例
import numpy as np
from numpy.polynomial import polynomial as P
# 多項式の係数配列を作成
c = np.array([1,2,3])
# 係数配列を表示
print("Our coefficient 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)
# polyint()メソッドで多項式を積分(scl=-2を指定)
print("\nResult...\n",P.polyint(c, scl = -2))出力結果
Our coefficient Array... [1 2 3] Dimensions of our Array... 1 Datatype of our Array object... int64 Shape of our Array object... (3,) Result... [ 0. -2. -2. -2.]
-
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 を
-
Pythonで配列とスカラーの内積を計算する方法|numpy.inner()の使い方
Pythonで配列とスカラーの内積を求めるには、NumPyのnumpy.inner()メソッドを使用します。この関数は、1次元配列に対しては通常のベクトル内積を計算し、多次元配列の場合は最後の軸に沿った要素ごとの積の総和を返します。引数には2つの配列(またはベクトル)aとbを指定します。なお、aとbがスカラーでない場合は、両者の最後の次元が一致している必要があります。実行手順まず、必要なライブラリをインポートします。import numpy as npnumpy.eye()メソッドを使って配列を作成します。このメソッドは、対角成分が1、それ以外が0の2次元配列(単位行列)を返します。arr =