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

Pythonで複素数の根を持つHermite_e級数を生成する方法

PythonのNumPyで、指定した複素数の根を持つHermite_e級数を生成するには、hermite_e.hermefromroots()メソッドを使用します。このメソッドは係数の1次元配列を返します。すべての根が実数の場合、出力は実数配列になりますが、根の一部が複素数の場合は、結果に含まれる係数がすべて実数であっても、出力は複素数型になります。引数のrootsには、根を格納したシーケンスを渡します。

手順

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

from numpy.polynomial import hermite_e as H

次に、虚数単位 j を使って複素数の根を定義し、Hermite_e級数を生成します。

j = complex(0, 1)
print("Result...\n", H.hermefromroots((-j, j)))

生成された配列のデータ型を確認します。

print("\nType...\n", H.hermefromroots((-j, j)).dtype)

続けて、配列の形状を確認します。

print("\nShape...\n", H.hermefromroots((-j, j)).shape)

コード例

from numpy.polynomial import hermite_e as H

# 虚数単位 j を定義
j = complex(0, 1)
print("Result...\n", H.hermefromroots((-j, j)))

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

# 形状を取得
print("\nShape...\n", H.hermefromroots((-j, j)).shape)

出力

Result...
    [2.+0.j 0.+0.j 1.+0.j]

Type...
complex128

Shape...
(3,)

結果の解説

この例では、虚数単位 j を用いて ±j の2つの根を定義しています。これらの根を持つ多項式は x² + 1 です。確率論者のエルミート多項式では He₂(x) = x² − 1 となるため、x² + 1 = He₂(x) + 2 と表せます。そのため、結果の係数配列は [2.+0.j 0.+0.j 1.+0.j] となっています。

また、根が複素数(±j)であるため、係数自体は実数ですが、出力のデータ型は complex128 になっている点にも注目してください。これは、hermefromroots() が入力の根に複素数が含まれる場合、常に複素数型の配列を返す仕様だからです。

  1. Pythonで多次元係数を持つHermite_e級数を微分する方法

    PythonでHermite_e級数を微分するには、numpy.polynomial.hermite_eモジュールのhermeder()メソッドを使用します。第1引数のcは、Hermite_e級数の係数を格納した配列です。cが多次元配列の場合、各軸が異なる変数に対応し、各軸における次数は対応するインデックスによって決まります。hermeder()メソッドの主な引数c: Hermite_e級数の係数配列。多次元配列を指定すると、各軸がそれぞれ別の変数に対応します。m: 微分の回数。非負の整数である必要があります(デフォルト: 1)。scl: スカラー値。各微分のたびにこの値が乗算され、最終的な結

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

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