cupy.polynomial.polynomial.polyval#

cupy.polynomial.polynomial.polyval(x, c, tensor=True)[source]#

在点 x 处计算多项式。

如果 c 的长度为 n + 1,此函数返回以下值:

\[p(x) = c_0 + c_1 * x + ... + c_n * x^n\]

参数 x 仅在是元组或列表时才转换为数组,否则视为标量。无论哪种情况,x 或其元素必须支持与自身以及与 c 元素的乘法和加法。

如果 c 是一维数组,则 p(x) 将具有与 x 相同的形状。如果 c 是多维的,则结果的形状取决于 tensor 的值。如果 tensor 为 True,则形状为 c.shape[1:] + x.shape。如果 tensor 为 False,则 x 会广播到 c 的列上进行计算。当 c 是多维时,此关键字非常有用。默认值为 True。

系数末尾的零也会用于计算,因此如果考虑效率,应避免使用它们。

参数:
  • x (array_like, 兼容对象) – 如果 x 是列表或元组,则会转换为 ndarray,否则保持不变并视为标量。无论哪种情况,x 或其元素必须支持与自身以及与 c 元素的加法和乘法。

  • c (array_like) – 系数数组,按次数 n 的系数存储在 c[n] 中的顺序排列。如果 c 是多维的,则其余索引表示多个多项式。在二维情况下,系数可以被视为存储在 c 的列中。

  • tensor (布尔值, 可选) – 如果为 True,则系数数组的形状会在右侧扩展,为 x 的每个维度添加一个维度。标量在此操作中维度为 0。结果是 c 中的每个系数列都会对 x 的每个元素进行计算。如果为 False,则 x 会广播到 c 的列上进行计算。当 c 是多维时,此关键字非常有用。默认值为 True。

返回:

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

返回类型:

ndarray, 兼容对象

说明

计算使用 Horner 方法。