numpy.polynomial.laguerre.lagval#

polynomial.laguerre.lagval(x, c, tensor=True)[source]#

在点 x 处计算拉盖尔级数的值。

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

\[p(x) = c_0 * L_0(x) + c_1 * L_1(x) + ... + c_n * L_n(x)\]

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

如果 c 是一个一维数组,则 p(x) 将与 x 具有相同的形状。如果 c 是多维的,则结果的形状取决于 tensor 的值。如果 tensor 为 True,则形状将为 c.shape[1:] + x.shape。如果 tensor 为 False,则形状将为 c.shape[1:]。请注意,标量的形状为 (,)。

系数中的尾随零将在计算中使用,因此如果效率是一个问题,则应避免它们。

参数:
xarray_like,兼容对象

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

carray_like

系数数组,按顺序排列,使得 n 次项的系数包含在 c[n] 中。如果 c 是多维的,则其余索引枚举多个多项式。在二维情况下,可以认为系数存储在 c 的列中。

tensor布尔值,可选

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

版本 1.7.0 中的新功能。

返回值:
valuesndarray,algebra_like

返回值的形状如上所述。

另请参阅

lagval2dlaggrid2dlagval3dlaggrid3d

注释

计算使用克伦肖递推,也称为综合除法。

示例

>>> from numpy.polynomial.laguerre import lagval
>>> coef = [1, 2, 3]
>>> lagval(1, coef)
-0.5
>>> lagval([[1, 2],[3, 4]], coef)
array([[-0.5, -4. ],
       [-4.5, -2. ]])