numpy.polynomial.polynomial.polyvalfromroots#

polynomial.polynomial.polyvalfromroots(x, r, tensor=True)[原始碼]#

在點 x 評估由其根指定的 polynomial。

如果 r 的長度為 N,此函數會傳回值

\[p(x) = \prod_{n=1}^{N} (x - r_n)\]

參數 x 僅在為元組或列表時才會轉換為陣列,否則將視為純量。在任何一種情況下,x 或其元素都必須支援與自身以及與 r 元素進行乘法和加法運算。

如果 r 是一維陣列,則 p(x) 將具有與 x 相同的形狀。如果 r 是多維的,則結果的形狀取決於 tensor 的值。如果 tensorTrue,則形狀將為 r.shape[1:] + x.shape;也就是說,每個 polynomial 都會在 x 的每個值上評估。如果 tensorFalse,則形狀將為 r.shape[1:];也就是說,每個 polynomial 僅針對 x 的相應廣播值進行評估。請注意,純量具有形狀 (,)。

參數:
xarray_like,相容物件

如果 x 是列表或元組,則會將其轉換為 ndarray,否則將保持不變並視為純量。在任何一種情況下,x 或其元素都必須支援與自身以及與 r 元素進行加法和乘法運算。

rarray_like

根的陣列。如果 r 是多維的,則第一個索引是根索引,而剩餘索引則列舉多個 polynomial。例如,在二維情況下,每個 polynomial 的根可以認為儲存在 r 的列中。

tensor布林值,選用

如果為 True,則根陣列的形狀會向右擴展為 1,每個 x 的維度各一個。純量對此動作的維度為 0。結果是 r 中係數的每一列都會針對 x 的每個元素進行評估。如果為 False,則 x 會在 r 的列上廣播以進行評估。當 r 是多維時,此關鍵字很有用。預設值為 True。

傳回:
valuesndarray,相容物件

傳回陣列的形狀如上所述。

另請參閱

polyrootspolyfromrootspolyval

範例

>>> from numpy.polynomial.polynomial import polyvalfromroots
>>> polyvalfromroots(1, [1, 2, 3])
0.0
>>> a = np.arange(4).reshape(2, 2)
>>> a
array([[0, 1],
       [2, 3]])
>>> polyvalfromroots(a, [-1, 0, 1])
array([[-0.,   0.],
       [ 6.,  24.]])
>>> r = np.arange(-2, 2).reshape(2,2)  # multidimensional coefficients
>>> r # each column of r defines one polynomial
array([[-2, -1],
       [ 0,  1]])
>>> b = [-2, 1]
>>> polyvalfromroots(b, r, tensor=True)
array([[-0.,  3.],
       [ 3., 0.]])
>>> polyvalfromroots(b, r, tensor=False)
array([-0.,  0.])