Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python(NumPy)で多次元係数の多項式を微分する方法

PythonのNumPyでは、polynomial.polyder()メソッドを使うことで多項式を微分できます。このメソッドは、指定した軸に沿って多項式係数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パラメータ): 多項式係数の配列。cが多次元の場合、異なる軸がそれぞれ異なる変数に対応し、各軸の次数は対応するインデックスによって決まります。
  • m(第2パラメータ): 微分の回数。非負の整数である必要があります(デフォルト:1)。
  • scl(第3パラメータ): 各微分ごとにsclが乗算され、最終的な結果にはscl**mが掛けられます。変数の線形変換に使用されます(デフォルト:1)。
  • axis(第4パラメータ): 微分を行う対象の軸です(デフォルト:0)。

実行手順

まず、必要なライブラリをインポートします。

import numpy as np
from numpy.polynomial import polynomial as P

次に、多項式係数の多次元配列を作成します。

c = np.arange(4).reshape(2,2)

作成した係数配列を表示します。

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.polyder()メソッドを使って多項式を微分します。

print("\nResult...\n",P.polyder(c))

サンプルコード

import numpy as np
from numpy.polynomial import polynomial as P

# 多項式係数の多次元配列を作成
c = np.arange(4).reshape(2,2)

# 係数配列を表示
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)

# polyder()メソッドで多項式を微分
print("\nResult...\n",P.polyder(c))

出力結果

Our coefficient Array...
    [[0 1]
    [2 3]]

Dimensions of our Array...
2

Datatype of our Array object...
int64

Shape of our Array object...
(2, 2)

Result...
    [[2. 3.]]

このように、2×2の係数配列に対してpolyder()を実行すると、axis=0(x方向)に沿って1回微分された結果として、形状(1, 2)の配列 [[2. 3.]] が返されます。微分により次数が1つ下がるため、結果の配列の形状も変化することに注意してください。

  1. 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パ

  2. 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である場合、