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

Pythonで多次元係数のエルミート級数を微分する方法

エルミート級数を微分するには、Pythonの numpy.polynomial.hermite モジュールが提供する hermite.hermder() メソッドを使用します。このメソッドは複数のパラメータを受け取り、柔軟な微分操作を可能にします。

hermite.hermder() の主なパラメータ

第1引数の c は、エルミート級数の係数を格納した配列です。c が多次元の場合、各軸が異なる変数に対応し、各軸における級数の次数は対応するインデックスによって決まります。

第2引数の m は微分を取る回数で、非負の整数である必要があります(デフォルト:1)。

第3引数の scl はスカラー値です。各回の微分ごとにこの値が乗算され、最終的な結果は scl**m 倍になります。これは変数の線形変換を行う際に役立ちます(デフォルト:1)。

第4引数の axis は、微分を適用する対象の軸を指定します(デフォルト:0)。

実行手順

1. 必要なライブラリをインポートする

import numpy as np
from numpy.polynomial import hermite as H

2. 多次元の係数配列を作成する

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

3. 配列を表示して確認する

print("Our Array...\n",c)

4. 次元数・データ型・形状を確認する

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)

5. hermite.hermder() で微分を実行する

print("\nResult...\n",H.hermder(c))

完全なサンプルコード

import numpy as np
from numpy.polynomial import hermite as H

# 多次元の係数配列を作成
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)

# hermite.hermder() メソッドでエルミート級数を微分
print("\nResult...\n",H.hermder(c))

実行結果

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...
    [[4. 6.]]

このように、hermite.hermder() を使えば、多次元配列の係数を持つエルミート級数でも簡単に微分できます。デフォルトでは1階微分が計算され、m パラメータを変更することで高階微分にも対応可能です。

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