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

Python NumPyのchebder()メソッドで特定の軸に沿って多次元係数のチェビシェフ級数を微分する方法

チェビシェフ級数を微分するには、Python NumPy の polynomial.chebder() メソッドを使用します。このメソッドは、導関数のチェビシェフ級数を返します。具体的には、引数 c で与えられたチェビシェフ級数の係数を、指定した軸に沿って m 回微分した結果を返し、反復のたびに結果が scl 倍されます。

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

chebder() メソッドの主なパラメータ

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

実行手順

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

import numpy as np
from numpy.polynomial import chebyshev as C

次に、チェビシェフ級数の係数を持つ多次元配列を作成します。

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)

最後に、chebder() メソッドを使ってチェビシェフ級数を微分します。ここでは axis=1 を指定して、第2軸(列方向)に沿って微分を行います。

print("\nResult...\n",C.chebder(c, axis = 1))

完全なサンプルコード

import numpy as np
from numpy.polynomial import chebyshev as C

# チェビシェフ級数の係数を持つ多次元配列を作成
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)

# chebder() メソッドでチェビシェフ級数を微分(axis=1 を指定)
# このメソッドは導関数のチェビシェフ級数を返す
print("\nResult...\n",C.chebder(c, axis = 1))

実行結果

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...
    [[1.]
    [3.]]

このように、chebder() メソッドに axis 引数を指定することで、多次元のチェビシェフ級数に対して任意の軸方向に柔軟に微分処理を適用できます。上記の例では、2×2 の係数配列を axis=1 方向に微分した結果として [[1.], [3.]] が得られています。

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