numpy.polynomial.polynomial.polyvalfromroots#

polynomial.polynomial.polyvalfromroots(x, r, tensor=True)[源代码]#

在点 x 处评估由其根指定的多项式.

如果 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;即,每个多项式在 x 的每个值上进行评估.如果 tensorFalse ,形状将是 r.shape[1:];即,每个多项式仅在 x 的相应广播值上进行评估.注意,标量具有形状 (,).

在 1.12 版本加入.

参数:
x类数组对象,兼容对象

如果 x 是一个列表或元组,它会被转换为一个 ndarray,否则它保持不变并被视为一个标量.在任何情况下,`x` 或其元素必须支持与自身和 r 的元素进行加法和乘法运算.

rarray_like

根的数组.如果 r 是多维的,第一个索引是根索引,而其余的索引枚举多个多项式.例如,在二维情况下,每个多项式的根可以被认为是存储在 r 的列中.

tensor布尔值,可选

如果为 True,则根数组的形状在右侧扩展为 1,每个 x 的维度一个.标量在此操作中具有维度 0.结果是 r 中的每个系数列都针对 x 的每个元素进行评估.如果为 False,则 xr 的列上进行广播以进行评估.当 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.])