numpy.polynomial.polynomial.polyvalfromroots #

多项式.多项式. polyvalfromroots ( x , r ,张量= True ) [来源] #

计算由点 x 处的根指定的多项式。

如果r 的长度为N,则此函数返回值

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

仅当参数x是元组或列表时,才会将其转换为数组,否则将其视为标量。在任何一种情况下,x或其元素都必须支持与它们自身以及与r 的元素的乘法和加法。

如果r是一维数组,则p(x)将具有与x相同的形状。如果r 是多维的,则结果的形状取决于 张量的值。如果张量True形状,则为 r.shape[1:] + x.shape;也就是说,每个多项式在x的每个值处进行计算。如果张量False,则形状将为 r.shape[1:];也就是说,每个多项式仅针对x的相应广播值进行计算。请注意,标量的形状为 (,)。

1.12 版本中的新增内容。

参数
x array_like,兼容对象

如果x是列表或元组,则将其转换为 ndarray,否则保持不变并视为标量。在任何一种情况下,x 或其元素都必须支持与自身以及与r的元素的加法和乘法。

r类数组

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

张量布尔值,可选

如果为 True,则 root 数组的形状将在右侧扩展,每个维度对应x的每个维度。此操作的标量的维度为 0。结果是r中的每一列系数都会针对x的每个元素进行评估。如果为 False,则 x将在r的列上广播以进行评估。当r是多维时,此关键字很有用。默认值是true。

返回
ndarray,兼容对象

返回数组的形状如上所述。

也可以看看

polyroots, polyfromroots,polyval

例子

>>> 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.])