【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): 多項式の係数を格納した配列です。次数i,jの項に対応する係数は c[i,j] に格納されている必要があります。cの次元が2より大きい場合、残りのインデックスは複数の係数セットを表します。
なお、cの次元が2未満の場合は、形状に暗黙的に「1」が追加され、自動的に2次元へと変換されます。結果の配列の形状は c.shape[2:] + x.shape + y.shape となります。
実行手順
まず、必要なライブラリをインポートします。
import numpy as np
from numpy.polynomial.polynomial import polygrid2d
次に、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)最後に、polygrid2d(x, y, c) メソッドを使って、xとyのデカルト積上で2次元多項式を評価します。
print("\nResult...\n",polygrid2d([1,2],[1,2], c))完全なコード例
import numpy as np
from numpy.polynomial.polynomial import polygrid2d
# 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)
# polygrid2dメソッドで2次元多項式を評価
print("\nResult...\n",polygrid2d([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.]]]
このように、polygrid2d を使えば、グリッド状の評価点に対して効率的に多項式の値を一括計算できます。入力配列の形状と係数配列の構造さえ正しく設定すれば、多次元の係数セットにも柔軟に対応できるのが大きな特徴です。
-
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
-
Python NumPyのpolygrid2dでxとyのデカルト積上の2次元多項式を評価する方法
Pythonでxとyのデカルト積(直積)上の2次元多項式を評価するには、numpy.polynomial.polynomialモジュールのpolygrid2d(x, y, c)メソッドを使用します。このメソッドは、xとyのデカルト積の各点における2次元多項式の値を返します。polygrid2dメソッドのパラメータ第1パラメータ:x、yxとyは、それぞれデカルト積の各点で評価される配列です。xまたはyがリストやタプルの場合、まずndarrayに変換されます。すでにndarrayである場合はそのまま使用され、ndarrayでもリストでもない場合はスカラーとして扱われます。第2パラメータ:ccは係数