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

Pythonで特定の軸に沿って多次元係数のHermite_e級数を微分する方法

Hermite_e級数を微分するには、PythonのNumPyライブラリが提供する hermite_e.hermeder() メソッドを使用します。このメソッドを使うことで、多次元の係数配列に対して、指定した軸方向に沿って効率的に微分計算を行うことができます。

hermeder() メソッドのパラメータ

第1パラメータ(c): Hermite_e級数の係数を格納した配列です。cが多次元の場合、各軸はそれぞれ異なる変数に対応し、各軸における次数は対応するインデックスによって決まります。

第2パラメータ(m): 微分を適用する回数です。非負の整数である必要があります。(デフォルト: 1)

第3パラメータ(scl): スカラー値です。各微分のたびにsclが乗算され、最終的な結果には scl**m が掛けられます。これは変数の線形変換を行う際に役立ちます。(デフォルト: 1)

第4パラメータ(axis): 微分を実行する対象の軸です。(デフォルト: 0)

実行手順

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

import numpy as np
from numpy.polynomial import hermite_e 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_e.hermeder() メソッドを使ってHermite_e級数を微分します。ここでは axis=1 を指定して、第2軸(列)方向に微分を行います。

print("\nResult...\n",H.hermeder(c, axis = 1))

サンプルコード全体

import numpy as np
from numpy.polynomial import hermite_e 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)

# hermeder()メソッドでaxis=1方向に微分
print("\nResult...\n",H.hermeder(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...
[[1.]
[3.]]

この出力から分かるように、2×2の係数配列に対してaxis=1(列方向)の微分を適用すると、各行の隣接する係数の差が計算され、結果として形状(2, 1)の配列が得られます。微分により係数配列の次元が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である場合、