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

Python NumPyで指定した根からエルミート級数を生成する方法

PythonのNumPyライブラリを使って、指定した根(root)を持つエルミート級数を生成するには、numpy.polynomial.hermiteモジュールのhermite.hermfromroots()メソッドを使用します。このメソッドは、係数を格納した1次元配列を返します。

すべての根が実数であれば、結果は実数型の配列になります。一方、一部にでも複素数の根が含まれている場合は、計算結果の係数がすべて実数であったとしても、出力は複素数型の配列になる点に注意してください。

パラメータについて

roots:エルミート級数の根を含むシーケンス(タプルやリストなど)を指定します。

実装手順

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

import numpy as np
from numpy.polynomial import hermite as H

次に、hermite.hermfromroots()メソッドを使って、指定した根からエルミート級数を生成します。

print("Result...\n",H.hermfromroots((-1,0,1)))

結果のデータ型を確認します。

print("\nType...\n",H.hermfromroots((-1,0,1)).dtype)

配列の形状を確認します。

print("\nShape...\n",H.hermfromroots((-1,0,1)).shape)

コード例

from numpy.polynomial import hermite as H

# 指定した根を持つエルミート級数を生成するには、
# Python NumPyの hermite.hermfromroots() メソッドを使用します。
# このメソッドは係数の1次元配列を返します。
# すべての根が実数なら実数配列、複素数の根が含まれる場合は
# 係数がすべて実数でも複素数配列になります。

print("Result...\n",H.hermfromroots((-1,0,1)))

# データ型を取得
print("\nType...\n",H.hermfromroots((-1,0,1)).dtype)

# 形状を取得
print("\nShape...\n",H.hermfromroots((-1,0,1)).shape)

出力結果

Result...
    [0.   0.25 0.   0.125]

Type...
float64

Shape...
(4,)

この例では、根として (-1, 0, 1) を指定しています。出力された配列 [0., 0.25, 0., 0.125] は、エルミート級数の各項に対応する係数を表しています。また、データ型は float64、形状は (4,) の1次元配列であることが確認できます。

  1. Python NumPyで複素数の根を持つチェビシェフ級数を生成する方法

    PythonのNumPyライブラリでは、指定した根を持つチェビシェフ級数を生成するために、chebyshev.chebfromroots()メソッドを使用します。このメソッドは、級数の係数を格納した1次元配列を返します。すべての根が実数であれば結果も実数配列になりますが、根の一部が複素数の場合は、計算結果の係数がすべて実数であっても、出力は複素数型(complex)になります。引数rootsには、根を要素とするシーケンスを渡します。なお、チェビシェフ級数とは、チェビシェフ多項式 Tn(x) を基底とした多項式の表現形式です。chebfromroots() を使えば、因数分解された形の情報(根)

  2. Pythonで与えられた根を持つモニック多項式を生成する方法

    PythonのNumPyで指定した根を持つモニック多項式(最高次の係数が1になる多項式)を生成するには、polynomial.polyfromroots()メソッドを使用します。このメソッドは、多項式の係数を1次元配列として返します。すべての根が実数の場合は出力も実数となり、虚数の根が含まれる場合は複素数となります。引数rootsには、根を要素として含むシーケンスを渡します。手順まず、必要なライブラリをインポートします。from numpy.polynomial import polynomial as Pモニック多項式を生成します。print(Result...\n,P.polyfromro