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

【Python】NumPyのhermval3d()で4次元係数配列を使い、点(x, y, z)における3次元エルミート級数を評価する方法

PythonのNumPyライブラリでは、hermite.hermval3d()メソッドを使用することで、点(x, y, z)における3次元エルミート級数を簡単に評価できます。この記事では、4次元の係数配列を用いた具体的な実装手順を解説します。

hermval3d()メソッドとは

hermite.hermval3d()は、x、y、zの対応する値から構成される点(タプル)に対して、多次元多項式の値を返すメソッドです。

主なパラメータ

第1パラメータ:x, y, z
3次元級数は点(x, y, z)で評価されます。x、y、zはすべて同じ形状(shape)である必要があります。いずれかがリストやタプルの場合、まずndarrayに変換され、それ以外の場合はそのまま変更されずに扱われます。ndarrayでない場合はスカラーとして処理されます。

第2パラメータ:C(係数配列)
多項式の係数を格納した配列です。次数i, j, kの項に対応する係数はc[i,j,k]に格納されている必要があります。cの次元が3より大きい場合、残りのインデックスは複数の係数セットを列挙するために使用されます。

実装手順

ステップ1:必要なライブラリをインポート

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

ステップ2:4次元の係数配列を作成

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

ステップ3:配列を表示

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

ステップ4:次元数を確認

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

ステップ5:データ型を確認

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

ステップ6:形状を確認

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

ステップ7:hermval3d()で3次元エルミート級数を評価

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

完全なサンプルコード

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

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

# 配列を表示
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)

# hermval3d()で点(1,1,1)と(2,2,2)における3次元エルミート級数を評価
# メソッドはx, y, zの対応する値からなる点に対する
# 多次元多項式の値を返します。

print("\nResult...\n",H.hermval3d([1,2],[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]]]


   [[[24 25]
    [26 27]
    [28 29]
    [30 31]
    [32 33]
    [34 35]]

   [[36 37]
    [38 39]
    [40 41]
    [42 43]
    [44 45]
    [46 47]]]]

Dimensions of our Array...
4

Datatype of our Array object...
int64

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

Result...
   [[ -8100. 104480.]
 [ -8343. 107455.]]

まとめ

このように、NumPyのhermite.hermval3d()メソッドを使えば、4次元の係数配列を指定するだけで、複数の点における3次元エルミート級数の値を一度に計算できます。係数配列の最後の次元が複数の係数セットとして機能するため、異なる多項式をまとめて評価したい場合にも便利です。科学技術計算や数値解析において、エルミート多項式は量子力学や確率論などの分野で広く活用されています。

  1. Python NumPyのpolyval3d()メソッドで、点(x, y, z)における3D多項式を係数の2D配列から評価する方法

    PythonのNumPyライブラリには、3次元多項式を指定した点で評価するためのpolynomial.polyval3d()メソッドが用意されています。このメソッドは、x、y、zに対応する値の組み合わせ(トリプル)から構成される各点において、多次元多項式の値を返します。polyval3d()メソッドのパラメータx、y、z:3次元級数を評価する点の座標です。x、y、zは同じ形状である必要があります。いずれかがリストやタプルの場合は、まずndarrayに変換されます。ndarrayでない場合はスカラーとして扱われます。c:係数を格納する配列です。多項式の次数 i, j, k に対応する項の係数は

  2. Python NumPyのpolyval3d()メソッドで4D係数配列を使って点(x, y, z)の3D多項式を評価する方法

    3D多項式を点(x, y, z)で評価するには、Python NumPyのpolynomial.polyval3d()メソッドを使用します。このメソッドは、x、y、zの対応する値から構成される三つ組の点における多次元多項式の値を返します。polyval3d()メソッドのパラメータ引数として渡すx、y、zは、同じ形状を持つ必要があります。いずれかがリストまたはタプルの場合は、まずndarrayに変換されます。ndarrayでない場合はスカラーとして扱われます。パラメータcは係数の配列で、多項式の次数 i, j, k に対応する項の係数が c[i,j,k] に格納されるように並べられています。cの