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

Pythonで多次元係数を持つラゲール級数を微分する方法

ラゲール級数を微分するには、PythonのNumPyが提供する laguerre.lagder() メソッドを使用します。このメソッドは、ラゲール級数の係数 c を指定した軸(axis)に沿って m 回微分した結果を返します。各反復のたびに結果は scl 倍されます。

引数 c は、各軸に沿って低次から高次の順に並んだ係数の配列です。たとえば、[1,2,3]1*L_0 + 2*L_1 + 3*L_2 という級数を表します。また、[[1,2],[1,2]] は、axis=0 が x、axis=1 が y に対応する場合、1*L_0(x)*L_0(y) + 1*L_1(x)*L_0(y) + 2*L_0(x)*L_1(y) + 2*L_1(x)*L_1(y) という2変数の級数を表します。

lagder() メソッドの主な引数

  • 第1引数 c: ラゲール級数の係数の配列です。c が多次元の場合、異なる軸は異なる変数に対応し、各軸の次数は対応するインデックスによって決まります。
  • 第2引数 m: 微分の回数です。非負の整数である必要があります。(デフォルト: 1)
  • 第3引数 scl: スカラー値です。各微分のたびに scl が乗算され、最終的な結果は scl**m 倍されます。これは変数の線形変換を行う際に利用されます。(デフォルト: 1)
  • 第4引数 axis: 微分を行う対象の軸です。(デフォルト: 0)

実行手順

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

import numpy as np
from numpy.polynomial import laguerre as L

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

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

3. 配列を表示する

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

4. 配列の次元を確認する

print("\nDimensions of our Array...\n",c.ndim)

5. 配列のデータ型を確認する

print("\nDatatype of our Array object...\n",c.dtype)

6. 配列の形状を確認する

print("\nShape of our Array object...\n",c.shape)

7. lagder() メソッドでラゲール級数を微分する

print("\nResult...\n",L.lagder(c))

サンプルコード全体

import numpy as np
from numpy.polynomial import laguerre as L

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

# lagder() メソッドでラゲール級数を微分
print("\nResult...\n",L.lagder(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...
    [[-2. -3.]]

このように、2×2 の多次元係数配列に対して lagder() メソッドを適用すると、デフォルト設定(m=1、scl=1、axis=0)で最初の軸に沿って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である場合、