Pythonで軸0に沿ってチェビシェフ級数を積分する方法
チェビシェフ級数を積分するには、Pythonの numpy.polynomial.chebyshev モジュールが提供する chebint() メソッドを使用します。このメソッドは、チェビシェフ級数の係数 c を、指定した軸(axis)に沿って下限 lbnd から m 回積分した結果を返します。各反復処理のたびに、結果の級数は scl 倍され、積分定数 k が加算されます。
chebint()メソッドのパラメータ
- c(第1引数): チェビシェフ級数の係数を格納した配列です。c が多次元配列の場合、異なる軸はそれぞれ異なる変数に対応し、各軸の次数は対応するインデックスによって表されます。
- m(第2引数): 積分の回数を指定します。正の整数である必要があります。デフォルトは1です。
- k(第3引数): 積分定数です。リストの最初の値が1回目の積分におけるゼロでの値、2番目の値が2回目の積分におけるゼロでの値、というように順に対応します。k == [](デフォルト)の場合、すべての積分定数は0に設定されます。m == 1 の場合は、リストの代わりに単一のスカラー値を指定することもできます。
- lbnd(第4引数): 積分の下限です。デフォルトは0です。
- scl(第5引数): 各積分の後、積分定数を加算する前に結果に乗算されるスカラー値です。デフォルトは1です。
- axis(第6引数): 積分を実行する対象の軸です。デフォルトは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)
チェビシェフ級数を積分するには、chebyshev.chebint() メソッドを使用します。ここでは、軸0に沿って積分を実行します。
print("\nResult...\n",C.chebint(c, axis = 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)
# 軸0に沿ってチェビシェフ級数を積分
print("\nResult...\n",C.chebint(c, axis = 0))
出力結果
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...
[[0.5 0.75]
[0. 1. ]
[0.5 0.75]]
結果の解説
入力配列の形状は (2, 2) でしたが、積分後の出力は (3, 2) になっています。これは、チェビシェフ級数を1回積分すると、その軸方向の係数の数が1つ増えるためです。軸0に沿って積分したため、行方向(第0軸)の要素数が2から3に増加し、列方向(第1軸)は変更されていません。
-
Python NumPyのchebder()で軸1に沿った多次元チェビシェフ級数を微分する方法
チェビシェフ級数を微分するには、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
-
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