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

PythonとNumPyでチェビシェフ多項式のファンデルモンド行列を生成する方法

PythonのNumPyライブラリを使用して、チェビシェフ多項式のファンデルモンド行列を生成するには、chebyshev.chebvander() 関数を利用します。この関数はファンデルモンド行列を返し、返される行列の形状は x.shape + (deg + 1,) となります。最後のインデックスは、対応するチェビシェフ多項式の次数を表します。また、dtypeは変換後のxと同じになります。

引数について説明します。第1引数の x は点の配列です。要素に複素数が含まれるかどうかに応じて、dtypeはfloat64またはcomplex128に変換されます。xがスカラーの場合は1次元配列に変換されます。第2引数の deg は、生成される行列の次数です。

実行手順

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

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

次に、点の配列を作成します。

x = np.array([0, 3.5, -1.4, 2.5])

作成した配列を表示します。

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

配列の次元数を確認します。

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

配列のデータ型(dtype)を確認します。

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

配列の形状(shape)を確認します。

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

チェビシェフ多項式のファンデルモンド行列を生成するには、chebyshev.chebvander() を使用します。ここでは次数2を指定しています。

print("\nResult...\n",C.chebvander(x, 2))

サンプルコード

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

# 配列を作成
x = np.array([0, 3.5, -1.4, 2.5])

# 配列を表示
print("Our Array...\n",x)

# 次元数を確認
print("\nDimensions of our Array...\n",x.ndim)

# データ型を確認
print("\nDatatype of our Array object...\n",x.dtype)

# 形状を確認
print("\nShape of our Array object...\n",x.shape)

# chebvander()でチェビシェフ多項式のファンデルモンド行列を生成
print("\nResult...\n",C.chebvander(x, 2))

出力結果

Our Array...
[ 0. 3.5 -1.4 2.5]

Dimensions of our Array...
1

Datatype of our Array object...
float64

Shape of our Array object...
(4,)

Result...
[[ 1. 0. -1. ]
[ 1. 3.5 23.5 ]
[ 1. -1.4 2.92]
[ 1. 2.5 11.5 ]]

このように、chebvander() 関数を使うことで、指定した点におけるチェビシェフ多項式の値を簡単に計算できます。得られたファンデルモンド行列は、チェビシェフ多項式による最小二乗近似や補間などの数値計算に活用できます。

  1. Python NumPyでチェビシェフ多項式の疑似ファンデルモンド行列を生成する方法

    PythonのNumPyライブラリでチェビシェフ多項式の疑似ファンデルモンド行列を生成するには、numpy.polynomial.chebyshevモジュールのchebvander2d()関数を使用します。このメソッドは、指定された次数とサンプル点(x, y)に基づく疑似ファンデルモンド行列を返します。パラメータxとyは点座標の配列で、すべて同じ形状である必要があります。データ型は、要素に複素数が含まれているかどうかによって、float64またはcomplex128のいずれかに自動的に変換されます。スカラー値は1次元配列へと変換されます。また、degパラメータには[x_deg, y_deg]と

  2. Python NumPyで複素数点配列からチェビシェフ多項式のファンデルモンド行列を生成する方法

    PythonのNumPyライブラリでは、chebyshev.chebvander()関数を使用することで、チェビシェフ多項式のファンデルモンド行列を簡単に生成できます。この関数は、指定した点の配列と次数をもとに、チェビシェフ多項式のファンデルモンド行列を返します。戻り値となる行列の形状は x.shape + (deg + 1,) であり、最後のインデックスは対応するチェビシェフ多項式の次数を表します。また、dtypeは変換後のxと同じになります。パラメータについてx(点の配列): 点の配列を指定します。要素に複素数が含まれる場合はcomplex128に、そうでない場合はfloat64に変換され