Python(NumPy)で根の多次元配列を使って点xにおける多項式を評価する方法
根(解)によって指定された多項式を点 x で評価するには、Python の NumPy が提供する polynomial.polyvalfromroots() メソッドを使用します。このメソッドは、多項式を係数ではなく根のリストから直接計算できる便利な関数です。
第1引数は x です。x がリストやタプルの場合は ndarray に変換され、それ以外の場合はそのままスカラーとして扱われます。いずれの場合も、x またはその要素は、自身および r の要素との加算・乗算をサポートしている必要があります。
第2引数の r は根の配列です。r が多次元の場合、最初のインデックスが根のインデックスを表し、残りのインデックスが複数の多項式を列挙します。たとえば2次元の場合、各多項式の根は r の列に格納されていると考えることができます。
第3引数は tensor です。True の場合、根の配列の形状は、x の各次元ごとに1つずつ右側に1が追加されて拡張されます。この操作においてスカラーの次元数は0として扱われます。その結果、r 内の係数(根)のすべての列が、x のすべての要素に対して評価されます。False の場合、x は r の列に対してブロードキャストされて評価されます。このキーワードは、r が多次元である場合に特に有用です。デフォルト値は True です。
手順
まず、必要なライブラリをインポートします。
from numpy.polynomial.polynomial import polyvalfromroots import numpy as np
多次元の根の配列を作成します。
c = np.arange(-2, 2).reshape(2,2)
配列を表示します。
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)根によって指定された多項式を点 x で評価するために、polyvalfromroots() メソッドを使用します。
print("\nResult...\n",polyvalfromroots(1, c))コード例
from numpy.polynomial.polynomial import polyvalfromroots
import numpy as np
# 多次元の根の配列を作成
c = np.arange(-2, 2).reshape(2,2)
# 配列を表示
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)
# 根によって指定された多項式を点 x で評価するために polyvalfromroots() メソッドを使用
print("\nResult...\n",polyvalfromroots(1, c))出力結果
Our Array... [[-2 -1] [ 0 1]] Dimensions of our Array... 2 Datatype of our Array object... int64 Shape of our Array object... (2, 2) Result... [3. 0.]
この例では、2×2 の多次元配列 c を根として渡し、点 x = 1 で多項式を評価しています。結果として得られる [3. 0.] は、r の各列に格納された根を持つ2つの多項式がそれぞれ x = 1 で評価された値を示しています。多次元配列を扱うことで、複数の多項式を一度に効率的に評価できるのがこのメソッドの大きな利点です。
-
Python NumPyのpolyval3d()メソッドで4D係数配列を使って点(x, y, z)の3D多項式を評価する方法
3D多項式を点(x, y, z)で評価するには、Python NumPyのpolynomial.polyval3d()メソッドを使用します。このメソッドは、x、y、zの対応する値から構成される三つ組の点における多次元多項式の値を返します。polyval3d()メソッドのパラメータ引数として渡すx、y、zは、同じ形状を持つ必要があります。いずれかがリストまたはタプルの場合は、まずndarrayに変換されます。ndarrayでない場合はスカラーとして扱われます。パラメータcは係数の配列で、多項式の次数 i, j, k に対応する項の係数が c[i,j,k] に格納されるように並べられています。cの
-
Python NumPyのpolyvalfromroots()で根から多項式を評価する方法
PythonのNumPyでは、polynomial.polyvalfromroots()メソッドを使うことで、根(解)によって指定された多項式を任意の点xで評価できます。この記事では、各パラメータの意味と、実際のコード例・実行結果をわかりやすく解説します。 polyvalfromroots()メソッドのパラメータ 第1引数:x 評価を行う点を指定します。リストやタプルを渡した場合はndarrayに変換され、それ以外の場合はスカラーとしてそのまま扱われます。いずれの場合も、xまたはその要素が、自身およびrの要素との加算・乗算をサポートしている必要があります。 第2引数:r 多項式の根を格納した配