Python・NumPyでエルミート多項式(HermiteE)の疑似ファンデルモンド行列を生成する方法
PythonのNumPyを使ってエルミート多項式(HermiteE)の疑似ファンデルモンド行列を生成するには、numpy.polynomial.hermite_eモジュールのhermevander2d()関数を使用します。この関数は、指定された点座標に基づく疑似ファンデルモンド行列を返します。
hermevander2d()関数のパラメータ
- x, y: 点座標の配列です。すべて同じ形状である必要があります。要素に複素数が含まれる場合は
complex128、そうでない場合はfloat64にdtypeが変換されます。スカラー値は自動的に1次元配列へ変換されます。 - deg:
[x_deg, y_deg]の形式で各軸の最大次数を指定するリストです。
手順
1. 必要なライブラリをインポートする
import numpy as np from numpy.polynomial import hermite_e as H
2. 点座標の配列を作成する
numpy.array()メソッドを使って、同じ形状を持つ点座標の配列を作成します。
x = np.array([1, 2]) y = np.array([3, 4])
3. 配列を表示して内容を確認する
print("Array1...\n", x)
print("\nArray2...\n", y)
4. データ型(dtype)を確認する
print("\nArray1 datatype...\n", x.dtype)
print("\nArray2 datatype...\n", y.dtype)
5. 次元数(ndim)を確認する
print("\nDimensions of Array1...\n", x.ndim)
print("\nDimensions of Array2...\n", y.ndim)
6. 形状(shape)を確認する
print("\nShape of Array1...\n", x.shape)
print("\nShape of Array2...\n", y.shape)
7. 疑似ファンデルモンド行列を生成する
x軸の最大次数を2、y軸の最大次数を3として、hermevander2d()関数を呼び出します。
x_deg, y_deg = 2, 3
print("\nResult...\n", H.hermevander2d(x, y, [x_deg, y_deg]))
完全なサンプルコード
import numpy as np
from numpy.polynomial import hermite_e as H
# numpy.array()メソッドで同じ形状の点座標配列を作成
x = np.array([1, 2])
y = np.array([3, 4])
# 配列を表示
print("Array1...\n", x)
print("\nArray2...\n", y)
# データ型を表示
print("\nArray1 datatype...\n", x.dtype)
print("\nArray2 datatype...\n", y.dtype)
# 両配列の次元数を確認
print("\nDimensions of Array1...\n", x.ndim)
print("\nDimensions of Array2...\n", y.ndim)
# 両配列の形状を確認
print("\nShape of Array1...\n", x.shape)
print("\nShape of Array2...\n", y.shape)
# hermite_e.hermevander2d()でエルミート多項式の疑似ファンデルモンド行列を生成
x_deg, y_deg = 2, 3
print("\nResult...\n", H.hermevander2d(x, y, [x_deg, y_deg]))
実行結果
Array1...
[1 2]
Array2...
[3 4]
Array1 datatype...
int64
Array2 datatype...
int64
Dimensions of Array1...
1
Dimensions of Array2...
1
Shape of Array1...
(2,)
Shape of Array2...
(2,)
Result...
[[ 1. 3. 8. 18. 1. 3. 8. 18. 0. 0. 0. 0.]
[ 1. 4. 15. 52. 2. 8. 30. 104. 3. 12. 45. 156.]]
まとめ
NumPyのhermite_e.hermevander2d()関数を使えば、2次元の点座標に対するエルミート多項式(HermiteE)の疑似ファンデルモンド行列を簡単に生成できます。返される行列の形状は、点座標の数と
-
Pythonでチェビシェフ多項式とx、y、zサンプル点の疑似ファンデルモンド行列を生成する方法
PythonのNumPyを使用して、チェビシェフ多項式とx、y、zのサンプル点から疑似ファンデルモンド行列(pseudo Vandermonde matrix)を生成するには、chebyshev.chebvander3d()関数を使います。このメソッドは、指定した次数degおよびサンプル点(x, y, z)に対応する疑似ファンデルモンド行列を返します。 パラメータの説明 x、y、z:点座標の配列です。すべて同じ形状である必要があります。要素に複素数が含まれるかどうかに応じて、dtypeはfloat64またはcomplex128に自動的に変換されます。スカラー値を渡した場合は1次元配列に変換さ
-
Python NumPyでチェビシェフ多項式の疑似ファンデルモンド行列を生成する方法
PythonのNumPyライブラリでチェビシェフ多項式の疑似ファンデルモンド行列を生成するには、numpy.polynomial.chebyshevモジュールのchebvander2d()関数を使用します。このメソッドは、指定された次数とサンプル点(x, y)に基づく疑似ファンデルモンド行列を返します。パラメータxとyは点座標の配列で、すべて同じ形状である必要があります。データ型は、要素に複素数が含まれているかどうかによって、float64またはcomplex128のいずれかに自動的に変換されます。スカラー値は1次元配列へと変換されます。また、degパラメータには[x_deg, y_deg]と