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

Python NumPyのhermediv()メソッドでHermite_e級数を別の級数で割る方法

Python NumPyでは、numpy.polynomial.hermite_e.hermediv()メソッドを使うことで、あるHermite_e級数(確率論者のエルミート多項式による級数)を別の級数で割ることができます。このメソッドは、商と余りに対応するHermite_e級数の係数を格納した配列をタプル形式で返します。

hermediv()メソッドは、2つのHermite_e級数 c1 / c2 の「商と余り」を計算します。引数として渡すのは、低次の項から高次の項へと順に並べた係数のシーケンスです。例えば [1, 2, 3] は P_0 + 2*P_1 + 3*P_2 という級数を表します。パラメータ c1 と c2 には、低次から高次の順に並べたHermite_e級数の係数を要素とする1次元配列を指定します。

実行手順

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

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

Hermite_e級数の係数を格納した1次元配列を作成します。

c1 = np.array([53., 30., 52., 7., 6.])
c2 = np.array([1, 2, 3])

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

print("Array1...\n",c1)
print("\nArray2...\n",c2)

各配列のデータ型を確認します。

print("\nArray1 datatype...\n",c1.dtype)
print("\nArray2 datatype...\n",c2.dtype)

両方の配列の次元数を確認します。

print("\nDimensions of Array1...\n",c1.ndim)
print("\nDimensions of Array2...\n",c2.ndim)

両方の配列の形状を確認します。

print("\nShape of Array1...\n",c1.shape)
print("\nShape of Array2...\n",c2.shape)

hermediv()メソッドを使って、一方のHermite_e級数をもう一方の級数で割ります。

print("\nResult (division)....\n",H.hermediv(c1, c2))

完全なコード例

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

# Hermite_e級数の係数を格納した1次元配列を作成
c1 = np.array([53., 30., 52., 7., 6.])
c2 = np.array([1, 2, 3])

# 係数配列を表示
print("Array1...\n",c1)
print("\nArray2...\n",c2)

# データ型を表示
print("\nArray1 datatype...\n",c1.dtype)
print("\nArray2 datatype...\n",c2.dtype)

# 両方の配列の次元数を確認
print("\nDimensions of Array1...\n",c1.ndim)
print("\nDimensions of Array2...\n",c2.ndim)

# 両方の配列の形状を確認
print("\nShape of Array1...\n",c1.shape)
print("\nShape of Array2...\n",c2.shape)

# hermediv()メソッドでHermite_e級数同士の除算を実行
print("\nResult (division)....\n",H.hermediv(c1, c2))

出力結果

Array1...
    [53. 30. 52. 7. 6.]

Array2...
    [1 2 3]

Array1 datatype...
float64

Array2 datatype...
int64

Dimensions of Array1...
1

Dimensions of Array2...
1

Shape of Array1...
(5,)

Shape of Array2...
(3,)

Result (division)....
(array([8., 1., 2.]), array([31., -1.]))

結果の解説

出力結果から、c1 を c2 で割った際のは array([8., 1., 2.])、余りは array([31., -1.]) であることがわかります。つまり、被除数の級数は「商に対応するHermite_e級数」と「余りに対応する級数」の和で表され、除算が正しく行われたことが確認できます。

なお、c1 のデータ型は float64、c2 のデータ型は int64 ですが、hermediv()メソッドは異なるデータ型の配列でも問題なく処理できます。ただし、より正確な計算結果を得たい場合は、あらかじめ係数を浮動小数点型(float64)に統一しておくことをおすすめします。

  1. Python NumPyのchebadd()メソッドでチェビシェフ級数を加算する方法

    Python NumPyでは、polynomial.chebyshev.chebadd()メソッドを使うことで、あるチェビシェフ級数を別のチェビシェフ級数に加算できます。このメソッドは、2つのチェビシェフ級数の和 c1 + c2 を表す配列を返します。 引数として渡すのは係数のシーケンスで、低次の項から高次の項へと順に並べます。たとえば [1,2,3] は T0 + 2·T1 + 3·T2 という級数を表します。パラメータ c1 と c2 には、低次から高次の順に並べられたチェビシェフ級数の係数を持つ1次元配列を指定します。 手順 まず、必要なライブラリをインポートします。 import nu

  2. Pythonでset()とnext()を使って、あるリストの要素が別のリスト内で最初に出現する値を見つける方法

    はじめにPythonプログラミングでは、あるリストの要素が別のリスト内で最初に出現する箇所を見つけたいケースがよくあります。このような場合、「set()」関数と「next()」関数を組み合わせることで、簡潔かつ効率的に実装できます。本記事では、サンプルコードと実行結果をもとに、その仕組みをわかりやすく解説します。サンプルコード以下に具体的な実装例を示します。my_list_1 = [23, 64, 34, 77, 89, 9, 21] my_list_2 = [64, 10, 18, 11, 0, 21] print(The first list is :) print(my_list_1)