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

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

2次元エルミート級数をxとyのデカルト積(直積)上で評価するには、PythonのNumPyライブラリに含まれる hermite.hermgrid2d(x, y, c) メソッドを使用します。このメソッドは、xとyのデカルト積の各点における2次元多項式の値を返します。

パラメータの説明

x と y

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

c(係数配列)

パラメータcは係数の配列であり、次数i,jの項に対応する係数が c[i,j] に格納されるように並べられています。cの次元が2より大きい場合、残りのインデックスは複数の係数セットを列挙するために使われます。逆にcの次元が2未満の場合は、暗黙的に1が形状に追加され、2次元配列として扱われます。結果の形状は c.shape[2:] + x.shape となります。

実行手順

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

import numpy as np
from numpy.polynomial import hermite as H

次に、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)

最後に、hermite.hermgrid2d(x, y, c) メソッドを使って、xとyのデカルト積上で2次元エルミート級数を評価します。

print("\nResult...\n",H.hermgrid2d([1,2],[1,2], c))

完全なコード例

import numpy as np
from numpy.polynomial import hermite as H

# 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)

# hermgrid2d(x, y, c)メソッドで2次元エルミート級数を評価
print("\nResult...\n",H.hermgrid2d([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...
    [[[108. 192.]
    [204. 360.]]

    [[117. 207.]
    [219. 385.]]

    [[126. 222.]
    [234. 410.]]

    [[135. 237.]
    [249. 435.]]

    [[144. 252.]
    [264. 460.]]

    [[153. 267.]
    [279. 485.]]]

このように、係数配列cの第3軸(サイズ6)に対応して6組の評価結果が出力されます。各結果の形状は c.shape[2:] + x.shape、つまり (6, 2, 2) となっており、hermgrid2dメソッドが複数の係数セットを一括処理できることが確認できます。

  1. 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

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

    xとyのデカルト積(直積)上で2次元多項式を評価するには、Pythonの numpy.polynomial.polynomial モジュールに含まれる polygrid2d(x, y, c) メソッドを使用します。このメソッドは、xとyのデカルト積の各点における2次元多項式の値を返します。パラメータの説明第1パラメータ(x, y): 評価対象となる2つの系列です。xまたはyがリストやタプルとして渡された場合は、まずndarrayに変換されます。すでにndarrayである場合はそのまま使用され、それ以外の場合はスカラーとして扱われます。第2パラメータ(c): 多項式の係数を格納した配列です。次数