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

Python・NumPyのpoly2lag()で多項式をラゲール級数に変換する方法

PythonのNumPyライブラリでは、laguerre.poly2lag()メソッドを使用することで、多項式をラゲール級数(Laguerre series)へ簡単に変換できます。

このメソッドは、低次項から高次項の順に並べられた多項式の係数を格納した配列を受け取り、それと等価なラゲール級数の係数配列(こちらも低次から高次の順)に変換して返します。

戻り値は、等価なラゲール級数の係数を含む1次元配列です。引数polには、変換元となる多項式の係数を格納した1次元配列を指定します。

実行手順

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

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

numpy.array()メソッドを使って配列を作成します。

c = np.array([1, 2, 3, 4, 5])

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

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)

多項式をラゲール級数に変換するには、laguerre.poly2lag()メソッドを使用します。

print("\nResult (polynomial to laguerre)...\n",L.poly2lag(c))

完全なコード例

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

# numpy.array()メソッドで配列を作成
c = np.array([1, 2, 3, 4, 5])

# 配列を表示
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)

# poly2lag()メソッドで多項式をラゲール級数に変換
print("\nResult (polynomial to laguerle)...\n",L.poly2lag(c))

出力結果

Our Array...
    [1 2 3 4 5]

Dimensions of our Array...
1

Datatype of our Array object...
int64

Shape of our Array object...
(5,)

Result (polynomial to laguerre)...
    [ 153. -566. 798. -504. 120.]

解説

入力配列[1, 2, 3, 4, 5]は、多項式 1 + 2x + 3x² + 4x³ + 5x⁴ の係数を表しています。poly2lag()を実行すると、これと同じ関数をラゲール多項式 L₀(x), L₁(x), L₂(x), … の線形結合で表現した場合の係数 [153, -566, 798, -504, 120] が得られます。

つまり、次のような恒等式が成り立っています。

1 + 2x + 3x² + 4x³ + 5x⁴ = 153·L₀ − 566·L₁ + 798·L₂ − 504·L₃ + 120·L₄

ラゲール級数は微分方程式や量子力学などの分野で広く利用される直交多項式系であり、NumPyのnumpy.polynomial.laguerreモジュールには、このような変換を行うための便利なユーティリティが多数用意されています。逆変換を行いたい場合は、lag2poly()メソッドを使用してください。

  1. Python NumPyで多項式をチェビシェフ級数に変換する方法(poly2cheb)

    多項式をチェビシェフ級数(Chebyshev series)に変換するには、PythonのNumPyが提供する chebyshev.poly2cheb() メソッドを使用します。このメソッドは、次数の低いものから高いものへと並べられた多項式の係数を表す1次元配列を受け取り、それを同等のチェビシェフ級数の係数(こちらも低次から高次の順)の1次元配列へと変換して返します。引数 c には、変換したい多項式の係数を格納した1次元配列を指定します。手順まず、必要なライブラリをインポートします。import numpy as np from numpy import polynomial as P続いて、

  2. Python NumPyのcheb2poly()メソッドでチェビシェフ級数を多項式に変換する方法

    チェビシェフ級数を多項式に変換するには、PythonのNumPyが提供する numpy.polynomial.chebyshev.cheb2poly() メソッドを使用します。このメソッドは、低次から高次の順に並べられたチェビシェフ級数の係数を表す配列を受け取り、「標準」べき基底における等価な多項式の係数(同じく低次から高次の順)へと変換します。 戻り値は、低次の項から高次の項へと並べられた、等価な多項式の係数を格納した1次元配列です。引数 c には、低次の項から高次の項へと並べたチェビシェフ級数の係数を含む1次元配列を指定します。 なお、チェビシェフ級数とは、チェビシェフ多項式 T0(x