Pythonでラゲール級数を別の級数で除算する方法|numpy.polynomial.laguerre.lagdivの使い方
PythonのNumPyでは、numpy.polynomial.laguerre.lagdiv()メソッドを使用することで、あるラゲール級数を別のラゲール級数で除算できます。このメソッドは、商と余りを表すラゲール級数の係数からなる [quo, rem] の配列を返します。
lagdiv()は、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 laguerre as L
ラゲール級数の係数を持つ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)あるラゲール級数を別のラゲール級数で除算するには、Python NumPyの polynomial.laguerre.lagdiv() メソッドを使用します。
print("\nResult (divide)....\n",L.lagdiv(c1, c2))完全なコード例
import numpy as np
from numpy.polynomial import laguerre as L
# ラゲール級数の係数を持つ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)
# lagdiv()メソッドでラゲール級数を除算
print("\nResult (divide)....\n",L.lagdiv(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 (divide)....
(array([3.]), array([-8., -4.]))出力結果からわかるように、c1 を c2 で除算した結果、商が array([3.])、余りが array([-8., -4.]) として返されています。このように lagdiv() メソッドを使えば、ラゲール級数同士の多項式除算を簡単に実行できます。
-
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)