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

Pythonで4次元係数配列を使って点(x, y, z)における3次元ラゲール級数を評価する方法

PythonのNumPyでは、numpy.polynomial.laguerre.lagval3d()メソッドを使用することで、指定した点(x, y, z)における3次元ラゲール級数の値を評価できます。このメソッドは、x、y、zから対応する値の組み合わせ(トリプル)で構成される点群に対する多次元多項式の値を返します。

lagval3d()メソッドの概要

係数配列cが3次元未満の場合は、暗黙的に形状に1が追加され、3次元として扱われます。結果の形状はc.shape[3:] + x.shapeになります。

主なパラメータは以下の通りです。

  • 第1パラメータ(x, y, z): 3次元級数を評価する点の座標です。x、y、zは同じ形状である必要があります。いずれかがリストやタプルの場合は、まずndarrayに変換されます。ndarrayでない場合はスカラーとして扱われます。
  • 第2パラメータ(c): 係数の配列です。多項式次数i, j, kの項に対応する係数はc[i, j, k]に格納されています。cの次元が3より大きい場合、残りのインデックスは複数の係数セットを表します。

実行手順

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

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

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)

点(x, y, z)における3次元ラゲール級数を評価するには、polynomial.laguerre.lagval3d()メソッドを使用します。このメソッドは、x、y、zから対応する値の組み合わせで構成される点群に対する多次元多項式の値を返します。

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

完全なコード例

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

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

# lagval3d()メソッドで点[1,2], [1,2], [1,2]における3次元ラゲール級数を評価
print("\nResult...\n",L.lagval3d([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...
    [[-15.66666667 0. ]
    [-16.925 0. ]]

このように、4次元の係数配列を用いることで、複数の係数セットを持つ3次元ラゲール級数を一度に評価できます。結果の形状はc.shape[3:] + x.shape、つまりこの例では(2, 2)となり、各評価点ごとの多項式の値が得られます。

  1. Python NumPyで多次元係数配列を使って点xにおけるラゲール級数を評価する方法

    PythonのNumPyライブラリでは、polynomial.laguerre.lagval()メソッドを使用することで、指定した点xにおいてラゲール級数を評価できます。この記事では、多次元の係数配列を扱う場合の使い方を、具体的なコード例とともに詳しく解説します。lagval()メソッドのパラメータ第1引数: x評価を行う点を指定します。xがリストやタプルの場合はndarrayに変換され、それ以外の場合はスカラーとしてそのまま扱われます。いずれの場合も、xまたはその要素が、自身および係数cの要素との加算・乗算をサポートしている必要があります。第2引数: C係数の配列です。次数nの項に対応する係

  2. PythonのNumPyで点(x, y)における2次元ラゲール級数を評価する方法

    PythonのNumPyでは、polynomial.laguerre.lagval2d()メソッドを使用することで、点xにおける2次元ラゲール級数を評価できます。このメソッドは、xとyの対応する値のペアから構成される点における2次元多項式の値を返します。lagval2d()メソッドのパラメータ第1パラメータ(x, y): 2次元級数は点(x, y)において評価されます。xとyは同じ形状である必要があります。xまたはyがリストやタプルの場合、まずndarrayに変換されます。それ以外の場合はそのまま変更されず、ndarrayでなければスカラーとして扱われます。第2パラメータ(C): 係数の配列で