Python NumPyのhermmul()メソッドでエルミート級数同士を乗算する方法
PythonのNumPyライブラリには、多項式演算を扱うための強力なモジュールが用意されています。その中でも numpy.polynomial.hermite.hermmul() メソッドを使用すると、2つのエルミート級数(Hermite series)の積を簡単に計算できます。
このメソッドは、2つのエルミート級数 c1 * c2 の積を表す配列を返します。引数には、低次の「項」から高次の項へと並べた係数のシーケンスを指定します。例えば、[1,2,3] は P_0 + 2*P_1 + 3*P_2 という級数を表します。パラメータとして渡すのは、低次から高次の順に並べられたエルミート級数の係数を格納した1次元配列です。
実行手順
まず、必要なライブラリをインポートします。
import numpy as np from numpy.polynomial import hermite as H
次に、エルミート級数の係数を格納した1次元配列を作成します。
c1 = np.array([1,2,3]) c2 = np.array([3,2,1])
作成した係数配列を表示します。
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)両方の配列の形状(shape)を確認します。
print("\nShape of Array1...\n",c1.shape)
print("\nShape of Array2...\n",c2.shape)最後に、polynomial.hermite.hermmul() メソッドを使って、一方のエルミート級数をもう一方に乗算します。
print("\nResult (multiply)....\n",H.hermmul(c1, c2))完全なコード例
import numpy as np
from numpy.polynomial import hermite as H
# エルミート級数の係数を格納した1次元配列を作成
c1 = np.array([1,2,3])
c2 = np.array([3,2,1])
# 係数配列を表示
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)
# polynomial.hermite.hermmul()メソッドで2つのエルミート級数を乗算
# このメソッドは、積を表すエルミート級数の配列を返します
print("\nResult (multiply)....\n",H.hermmul(c1, c2))出力結果
Array1...
[1 2 3]
Array2...
[3 2 1]
Array1 datatype...
int64
Array2 datatype...
int64
Dimensions of Array1...
1
Dimensions of Array2...
1
Shape of Array1...
(3,)
Shape of Array2...
(3,)
Result (multiply)....
[35. 40. 38. 8. 3.]このように、hermmul() メソッドを使えば、エルミート級数の乗算を数行のコードで実行できます。結果として得られる配列は、積の級数を低次から高次の順に表した係数列になっています。
-
Pythonで多項式を乗算する方法|numpy.polynomial.polymul()の使い方
Pythonで多項式同士を乗算するには、numpy.polynomial.polynomial.polymul()メソッドを使用します。このメソッドは、2つの多項式c1とc2の積(乗算結果)を返します。引数には、低次の項から高次の項へと並べた係数のシーケンスを指定します。例えば、[1,2,3]は「1 + 2*x + 3*x**2」という多項式を表します。戻り値は、乗算結果の多項式を表す係数配列です。パラメータc1およびc2は、「標準」基底における多項式を表す1次元の係数配列で、低次の項から高次の項の順に並べられている必要があります。なお、numpy.polynomial.polynomialモ
-
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)