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

Python NumPyでx、y、zのデカルト積上の3次元ルジャンドル級数を評価する方法

PythonのNumPyライブラリでは、polynomial.legendre.leggrid3d()メソッドを使用することで、x、y、zのデカルト積(直積)上で3次元ルジャンドル級数を評価できます。このメソッドは、x、y、zのデカルト積内の各点における3次元ルジャンドル級数の値を返します。

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

leggrid3d()メソッドのパラメータ

第1パラメータ:x、y、z

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

第2パラメータ:c

係数を格納した配列です。多項式次数 i, j の項の係数が c[i,j] に含まれるように並べられています。cの次元が2より大きい場合、残りのインデックスは複数の係数セットを表します。

実装手順

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

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

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

c = np.arange(16).reshape(2,2,4)

作成した配列を表示します。

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.legendre.leggrid3d()メソッドを使用します。

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

完全なコード例

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

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

# 配列を表示
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次元ルジャンドル級数を評価
print("\nResult...\n",L.leggrid3d([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]]]

Dimensions of our Array...
3

Datatype of our Array object...
int64

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

Result...
    [[[ 120. 868.]
    [ 196. 1404.]]

    [[ 212. 1506.]
    [ 342. 2412.]]]

このように、leggrid3d()メソッドを使うことで、複数の点の組み合わせに対するルジャンドル級数の値を効率的に一括計算できます。結果の配列形状は、入力点配列の形状の組み合わせから自動的に決定されるため、グリッド状の評価点での数値計算に非常に便利です。

  1. Pythonでx、y、zのデカルト積上の3次元Hermite_e級数を評価する方法

    x、y、zのデカルト積(直積)上で3次元のHermite_e級数を評価するには、Pythonの hermite.hermegrid3d(x, y, z, c) メソッドを使用します。このメソッドは、x、y、zのデカルト積で構成される各点における3次元多項式の値を返します。hermegrid3d() メソッドのパラメータまず、パラメータ x、y、z について説明します。3次元級数は、これら3つの配列が作るデカルト積の各点で評価されます。x、y、z のいずれかがリストやタプルの場合は、自動的に ndarray に変換されます。ndarray 以外のスカラーが渡された場合は、そのままスカラーとして扱

  2. 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は係数