Python NumPyのchebder()メソッドでチェビシェフ級数を微分する方法
PythonのNumPyライブラリでは、numpy.polynomial.chebder()メソッドを使用することで、チェビシェフ級数を簡単に微分できます。このメソッドは、導関数に対応する新しいチェビシェフ級数を返します。
chebder()メソッドとは
chebder()メソッドは、係数配列cを指定した軸に沿ってm回微分した結果を返します。各反復処理のたびに結果はscl倍され、最終的な出力はscl**m倍になります。これは変数の線形変換を行う際に便利です。
引数cは、次数の低い項から高い項へと並んだ係数の配列です。例えば、[1,2,3]は 1*T₀ + 2*T₁ + 3*T₂ という級数を表します。また、[[1,2],[1,2]] のように多次元配列を渡した場合、axis=0がx、axis=1がyに対応するとき、1*T₀(x)*T₀(y) + 1*T₁(x)*T₀(y) + 2*T₀(x)*T₁(y) + 2*T₁(x)*T₁(y) を表します。
主なパラメータ
- c: チェビシェフ級数の係数配列。多次元の場合、異なる軸が異なる変数に対応し、各軸の次数は対応するインデックスで決まります。
- m: 微分の回数。非負の整数である必要があります(デフォルト: 1)。
- scl: 各微分ごとに乗算されるスカラー値。変数の線形変換に使用します(デフォルト: 1)。
- axis: 微分を行う軸(デフォルト: 0)。
実装手順
まず、必要なライブラリをインポートします。
import numpy as np from numpy.polynomial import chebyshev as C
次に、チェビシェフ級数の係数配列を作成します。
c = np.array([1,2,3,4])
作成した配列を表示して確認しましょう。
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()メソッドを使ってチェビシェフ級数を微分します。
print("\nResult...\n",C.chebder(c))
完全なサンプルコード
import numpy as np
from numpy.polynomial import chebyshev as C
# チェビシェフ級数の係数配列を作成
c = np.array([1,2,3,4])
# 係数配列を表示
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()メソッドでチェビシェフ級数を微分
# 導関数に対応するチェビシェフ級数が返される
print("\nResult...\n",C.chebder(c))
実行結果
Our coefficient Array... [1 2 3 4] Dimensions of our Array... 1 Datatype of our Array object... int64 Shape of our Array object... (4,) Result... [14. 12. 24.]
結果の解説
この出力は、元の級数 1*T₀ + 2*T₁ + 3*T₂ + 4*T₃ を微分すると、導関数が 14*T₀ + 12*T₁ + 24*T₂ というチェビシェフ級数で表されることを意味しています。入力が4つの係数だったのに対し、出力は3つの係数になっている点にも注目してください。これは、定数項(T₀)の微分が0になるため、最高次数が1つ下がるためです。
-
Python NumPyのchebmulx()メソッドでチェビシェフ級数に独立変数を掛ける方法
Python NumPyでは、numpy.polynomial.chebyshev.chebmulx()メソッドを使うことで、チェビシェフ級数に独立変数 x を掛ける(乗算する)ことができます。このメソッドは、乗算結果を表す配列を返します。引数として渡すのは、次数の低い項から高い項へと並べたチェビシェフ級数の係数からなる1次元配列です。 なお、チェビシェフ多項式には x・Tn(x) = (Tn+1(x) + Tn-1(x)) / 2 という関係が成り立つため、chebmulx() は係数を効率よく再計算して新しい級数を返します。 実行手順 まず、必要なライブラリをインポートします。 impo
-
PythonでHermite_e級数を微分する方法【hermeder()の使い方を解説】
PythonでHermite_e級数(確率論的エルミート多項式の級数)を微分するには、NumPyの numpy.polynomial.hermite_e モジュールが提供する hermeder() メソッドを使用します。この記事では、hermeder() メソッドの各パラメータの意味と、実際のコード例を使った具体的な使い方をわかりやすく解説します。 hermeder()メソッドのパラメータ 第1引数:cHermite級数の係数を格納した配列です。c が多次元配列の場合、各軸が異なる変数に対応し、各軸における次数は対応するインデックスによって決まります。 第2引数:m微分を行う回数を指定します