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 的值。如果 tensor 為True
,則形狀將為 r.shape[1:] + x.shape;也就是說,每個 polynomial 都會在 x 的每個值上評估。如果 tensor 為False
,則形狀將為 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,相容物件
傳回陣列的形狀如上所述。
範例
>>> 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.])