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

Python・NumPyでLegendre級数を多項式に変換する方法

PythonのNumPyでは、legendre.leg2poly()メソッドを使うことで、Legendre(ルジャンドル)級数を通常の多項式へ変換できます。

このメソッドは、次数の低い項から高い項へと並べられたLegendre級数の係数を格納した配列を受け取り、「標準」基底(x^0, x^1, x^2, ...)で表した等価な多項式の係数を、同じく低次から高次の順に並べた1次元配列として返します。

引数cには、低次の項から高次の項へと順序付けられたLegendre級数の係数を含む1次元配列を指定します。

Legendre級数とは

Legendre級数は、ルジャンドル多項式 P₀(x)=1、P₁(x)=x、P₂(x)=(3x²−1)/2 などを基底とする多項式の表現方法です。数値計算や近似理論で直交多項式として広く利用されており、NumPyのpolynomialパッケージを使うことで、この表現と標準的な多項式表現を相互に変換できます。

手順

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

import numpy as np
from numpy.polynomial import legendre 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)

Legendre級数を多項式に変換するには、legendre.leg2poly()メソッドを使用します。ここでは、低次から高次へ並べられたLegendre級数の係数配列を、標準基底における等価な多項式の係数配列へと変換します。

print("\nResult (legendre to polynomial)...\n",L.leg2poly(c))

コード例

import numpy as np
from numpy.polynomial import legendre 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)

# legendre.leg2poly()メソッドでLegendre級数を多項式に変換
print("\nResult (legendre to polynomial)...\n",L.leg2poly(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 (legendre to polynomial)...
    [  1.375   -4.    -14.25   10.     21.875]

この結果は、入力の係数 [1, 2, 3, 4, 5] が表す「1·P₀ + 2·P₁ + 3·P₂ + 4·P₃ + 5·P₄」というLegendre級数が、標準基底では「1.375 − 4x − 14.25x² + 10x³ + 21.875x⁴」という多項式に相当することを示しています。

  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