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

Python NumPyのleggrid2d()で3次元係数配列を使い、xとyのデカルト積上の2次元ルジャンドル級数を評価する方法


xとyのデカルト積(直積)上で2次元ルジャンドル級数を評価するには、PythonのNumPyが提供する numpy.polynomial.legendre.leggrid2d() メソッドを使用します。このメソッドは、xとyのデカルト積で構成される各点における2次元ルジャンドル級数の値を返します。係数配列 c の次元が2未満の場合は、サイズ1の軸が暗黙的に追加されて2次元へ変換されます。結果の形状は c.shape[2:] + x.shape + y.shape になります。

主なパラメータ

x、y(第1・第2引数)

2次元級数は、xとyのデカルト積で構成される各点において評価されます。x や y がリストまたはタプルの場合は、まず ndarray に変換されます。それ以外の場合は元のまま変更されず、ndarray でなければスカラーとして扱われます。

c(第3引数)

係数を格納した配列です。多項式の次数 i, j に対応する項の係数が c[i, j] に格納されるように並べます。c の次元が3以上ある場合は、残りのインデックスが複数の係数セットを列挙し、それぞれのセットに対して評価結果が計算されます。

実行手順

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

import numpy as np
from numpy.polynomial import legendre as L

続いて、3次元の係数配列を作成します。

c = np.arange(24).reshape(2,2,6)

作成した配列を表示して内容を確認します。

print("Our 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)

xとyのデカルト積上で2次元ルジャンドル級数を評価するには、polynomial.legendre.leggrid2d() メソッドを呼び出します。このメソッドは、xとyのデカルト積の各点における2次元ルジャンドル級数の値を返します。

print("\nResult...\n",L.leggrid2d([1,2],[1,2],c))

完全なコード例

import numpy as np
from numpy.polynomial import legendre as L

# 3次元の係数配列を作成
c = np.arange(24).reshape(2,2,6)

# 配列を表示
print("Our 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)

# leggrid2d()でxとyのデカルト積上の2次元ルジャンドル級数を評価
print("\nResult...\n",L.leggrid2d([1,2],[1,2],c))

出力結果

Our Array...
 [[[ 0  1  2  3  4  5]
   [ 6  7  8  9 10 11]]

  [[12 13 14 15 16 17]
   [18 19 20 21 22 23]]]

Dimensions of our Array...
3

Datatype of our Array object...
int64

Shape of our Array object...
(2, 2, 6)

Result...
 [[[ 36.  60.]
   [ 66. 108.]]

  [[ 40.  66.]
   [ 72. 117.]]

  [[ 44.  72.]
   [ 78. 126.]]

  [[ 48.  78.]
   [ 84. 135.]]

  [[ 52.  84.]
   [ 90. 144.]]

  [[ 56.  90.]
   [ 96. 153.]]]

  1. Pythonで係数の1次元配列を使い、xとyのデカルト積上の2次元エルミートE級数を評価する方法

    xとyのデカルト積(直積)上で2次元エルミートE級数(Hermite_e series)を評価するには、Pythonのhermite_e.hermegrid2d(x, y, c)メソッドを使用します。このメソッドは、xとyのデカルト積の各点における2次元多項式の値を返します。パラメータの詳細x、y:2次元級数は、xとyのデカルト積の点において評価されます。xまたはyがリストやタプルの場合は、まずndarrayに変換されます。それ以外の場合はそのまま保持され、ndarrayでなければスカラーとして扱われます。c:係数の配列です。次数i、jの項に対応する係数がc[i,j]に格納されるように順序付け

  2. Pythonで1次元の係数配列を使ってxとyのデカルト積上の2次元多項式を評価する方法

    polygrid2d()メソッドとはxとyのデカルト積(直積)上で2次元多項式を評価するには、Pythonの polynomial.polygrid2d(x, y, c) メソッドを使用します。このメソッドは、xとyのデカルト積に含まれる各点における2次元多項式の値を返します。第1引数の x と y は、2次元級数を評価する対象となる点の座標です。x または y がリストやタプルである場合は、まず ndarray に変換されます。それ以外の場合はそのまま変更されず、ndarray でなければスカラーとして扱われます。第2引数の c は係数の配列で、次数 i,j の項に対応する係数が c[i,j