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

Pythonで与えられた複素数の根を持つ多項式の根を計算します


多項式の根を計算するには、Python Numpyのpolynomial.polyroots()メソッドを使用します。このメソッドは、多項式の根の配列を返します。すべての根が実数である場合、outも実数であり、そうでない場合は複雑です。パラメータcは、多項式係数の1次元配列です。

ルート推定値は、コンパニオンマトリックスの固有値として取得されます。複素平面の原点から遠く離れたルートは、そのような値のべき級数の数値的不安定性のために大きな誤差を持つ可能性があります。多重度が1より大きい根は、そのような点の近くの系列の値が根の誤差に比較的鈍感であるため、より大きな誤差も示します。ニュートン法を数回繰り返すことで、原点付近の孤立した根を改善できます。

ステップ

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

from numpy.polynomial import polynomial as P

多項式の根を計算するには、Python Numpyでpolynomial.polyroots()メソッドを使用します-

j = complex(0,1)
print("Result (roots of a polynomial)...\n",P.polyroots((-j,j)))

データ型を取得-

print("\nType...\n",P.polyroots((-j, j)).dtype)

形をとる-

print("\nShape...\n",P.polyroots((-j, j)).shape)

from numpy.polynomial import polynomial as P

# To compute the roots of a polynomials, use the polynomial.polyroots() method in Python Numpy.

# The method returns an array of the roots of the polynomial. If all the roots are real, then out is also real, otherwise it is complex.

# The parameter, c is a 1-D array of polynomial coefficients.
j = complex(0,1)
print("Result (roots of a polynomial)...\n",P.polyroots((-j,j)))

# Get the datatype
print("\nType...\n",P.polyroots((-j, j)).dtype)

# Get the shape
print("\nShape...\n",P.polyroots((-j, j)).shape)
を取得します

出力

Result (roots of a polynomial)...
[1.+0.j]

Type...
complex128

Shape...
(1,)

  1. Pythonでscimathを使用して複素数入力の平方根を計算する

    入力の平方根を計算するには、Python Numpyのemath.sqrt()メソッドを使用します。このメソッドは、xの平方根を返します。 xがスカラーだった場合は、outであり、そうでない場合は配列が返されます。パラメータxは入力値です。負の入力要素の場合、複素数値が返されます ステップ まず、必要なライブラリをインポートします- import numpy as np complex()メソッドを使用して明示的に複雑な入力- a = complex(-9.0, 0.0) 配列を表示する- print("Display the complex value...\n"

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

    指定された根を持つモニック多項式を生成するには、Python Numpyのpolynomial.polyfromroots()メソッドを使用します。このメソッドは、多項式の係数の1次元配列を返します。すべての根が実数の場合、outも実数であり、それ以外の場合は複雑です。パラメータrootsは、rootsを含むシーケンスです。 ステップ まず、必要なライブラリをインポートします- from numpy.polynomial import polynomial as P モニック多項式の生成- print("Result...\n",P.polyfromroots((-1,