Pythonでエルミート級数を別のエルミート級数で除算する方法
PythonのNumPyでは、numpy.polynomial.hermite.hermdiv()メソッドを使うことで、あるエルミート級数を別のエルミート級数で除算できます。このメソッドは、商と余りを表すエルミート級数の係数配列を返します。つまり、2つのエルミート級数 c1 / c2 の「商と余り付きの商」を計算する関数です。
引数には、低次の項から高次の項へと並べた係数のシーケンスを指定します。例えば、[1, 2, 3] は P_0 + 2*P_1 + 3*P_2 という級数を表します。パラメータ c1 と c2 は、低次から高次の順に並べられたエルミート級数の係数を持つ1次元配列です。
手順
まず、必要なライブラリをインポートします。
import numpy as np
from numpy.polynomial import hermite as H
エルミート級数の係数を持つ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)エルミート級数を別のエルミート級数で除算するには、Python NumPyの polynomial.hermite.hermdiv() メソッドを使用します。
print("\nResult (division)....\n",H.hermdiv(c1, c2))サンプルコード
import numpy as np
from numpy.polynomial import hermite as H
# エルミート級数の係数を持つ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)
# hermdiv()メソッドでエルミート級数を除算
print("\nResult (division)....\n",H.hermdiv(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([0., 1., 2.]), array([1., 1.]))
この実行結果から、商に対応する係数配列が [0., 1., 2.]、余りに対応する係数配列が [1., 1.] であることがわかります。このように hermdiv() を使えば、多項式の割り算と同様の手順でエルミート級数同士の除算を簡単に行うことができます。
-
Pythonで多項式を別の多項式で除算する方法 ― numpy.polydiv()の使い方
Pythonで1つの多項式を別の多項式で除算するには、numpy.polynomial.polynomial.polydiv()メソッドを使用します。このメソッドは、2つの多項式 c1 / c2 の「商と余り」を返します。引数には係数のシーケンスを渡します。係数は低次の項から高次の項へと順に並べます。たとえば、[1, 2, 3] は 1 + 2*x + 3*x**2 を表します。戻り値は、商と余りをそれぞれ表す係数列の配列です。パラメータ c1 および c2 は、「標準」基底に対する多項式を表す1次元の係数配列であり、こちらも低次の項から高次の項へと順に並べます。なお、numpy.polyno
-
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)