Pythonで与えられた根を持つモニック多項式を生成する方法
PythonのNumPyで指定した根を持つモニック多項式(最高次の係数が1になる多項式)を生成するには、polynomial.polyfromroots()メソッドを使用します。このメソッドは、多項式の係数を1次元配列として返します。すべての根が実数の場合は出力も実数となり、虚数の根が含まれる場合は複素数となります。引数rootsには、根を要素として含むシーケンスを渡します。
手順
まず、必要なライブラリをインポートします。
from numpy.polynomial import polynomial as P
モニック多項式を生成します。
print("Result...\n",P.polyfromroots((-1,0,1)))データ型を確認します。
print("\nType...\n",P.polyfromroots((-1,0,1)).dtype)形状を確認します。
print("\nShape...\n",P.polyfromroots((-1,0,1)).shape)コード例
from numpy.polynomial import polynomial as P
# 指定した根を持つモニック多項式を生成するには、
# Python NumPyのpolynomial.polyfromroots()メソッドを使用します。
# このメソッドは多項式の係数を1次元配列として返します。
# すべての根が実数なら出力も実数、そうでなければ複素数になります。
# 引数rootsには、根を含むシーケンスを指定します。
# 例:x(x - 1)(x + 1) = x^3 - x
print("Result...\n",P.polyfromroots((-1,0,1)))
# データ型を取得
print("\nType...\n",P.polyfromroots((-1,0,1)).dtype)
# 形状を取得
print("\nShape...\n",P.polyfromroots((-1,0,1)).shape)出力結果
Result... [ 0. -1. 0. 1.] Type... float64 Shape... (4,)
出力の解釈
戻り値の配列[ 0. -1. 0. 1.]は、低次から高次へと並んだ係数を表しています。つまり、0・x⁰ + (-1)・x¹ + 0・x² + 1・x³ = x³ − xという多項式に対応します。これは実際に x(x − 1)(x + 1) を展開した結果と一致しており、根 -1, 0, 1 を持つモニック多項式が正しく生成されていることが分かります。また、すべての根が実数のため、データ型はfloat64(実数)になっています。
-
Pythonで与えられた根を持つモニック多項式を生成する方法
PythonのNumPyで指定した根を持つモニック多項式(最高次の係数が1になる多項式)を生成するには、polynomial.polyfromroots()メソッドを使用します。このメソッドは、多項式の係数を1次元配列として返します。すべての根が実数の場合は出力も実数となり、虚数の根が含まれる場合は複素数となります。引数rootsには、根を要素として含むシーケンスを渡します。手順まず、必要なライブラリをインポートします。from numpy.polynomial import polynomial as Pモニック多項式を生成します。print(Result...\n,P.polyfromro
-
Pythonで指定した長さのランダム文字列を生成する方法
この記事では、Pythonで指定した長さのランダムな文字列を生成する方法を解説します。ランダムなパスワードの作成や、ランダム性が求められるさまざまなプログラムで活用できる基本的なテクニックです。random.choices() を使う方法randomモジュールのchoices()関数は、指定した文字セットからランダムに文字を選び出します。string.ascii_letters(英大文字・小文字)とstring.digits(数字)を組み合わせた文字セットから選択し、join()メソッドで連結することで、目的の長さの文字列を作成できます。サンプルコードimport string import