Pythonで多次元係数を持つチェビシェフ級数を微分する方法
PythonのNumPyでチェビシェフ級数を微分するには、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)」という2変数の級数を表すことになります。
chebder()メソッドの主な引数
c(第1引数)
チェビシェフ級数の係数を格納した配列です。cが多次元の場合、異なる軸はそれぞれ異なる変数に対応し、各軸における次数は対応するインデックスによって決まります。
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)そして、polynomial.chebder()メソッドを使ってチェビシェフ級数を微分します。
print("\nResult...\n",C.chebder(c))サンプルコード
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)
# polynomial.chebder()メソッドでチェビシェフ級数を微分する
# メソッドは導関数のチェビシェフ級数を返す
print("\nResult...\n",C.chebder(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.]]
-
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パ
-
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である場合、