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 是一个 1-D 数组,那么
p(x)将具有与 x 相同的形状. 如果 r 是多维的,则结果的形状取决于 tensor 的值. 如果 tensor 是True,则形状将为 r.shape[1:] + x.shape;也就是说,每个多项式都在 x 的每个值处进行评估. 如果 tensor 是False,则形状将为 r.shape[1:];也就是说,每个多项式仅针对 x 的相应广播值进行评估. 请注意,标量的形状为 (,).- 参数:
- x类数组,兼容对象
如果 x 是列表或元组,它将被转换为 ndarray, 否则将保持不变并被视为标量. 在任何一种情况下, x 或它的元素都必须支持与自身和 r 的元素相加和相乘.
- rarray_like
根的数组.如果 r 是多维的,则第一个索引是根索引,而其余索引枚举多个多项式. 例如,在二维情况下,每个多项式的根可以被认为存储在 r 的列中.
- 张量 (tensor)布尔值,可选
如果为 True,则根数组的形状在右侧用 1 扩展,每个 x 的维度对应一个 1. 标量为此操作的维度为 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.])