numpy.polynomial.laguerre.lagval#
- polynomial.laguerre.lagval(x, c, tensor=True)[源代码]#
在点 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:]。请注意,标量的形状为 (,)。系数中的尾随零将在计算中使用,因此如果效率是问题,应避免使用它们。
- 参数:
- x类数组,兼容对象
如果 x 是列表或元组,则会将其转换为 ndarray,否则将保持不变并将其视为标量。在任何一种情况下,x 或其元素都必须支持与自身和 c 的元素进行加法和乘法运算。
- c类数组
系数数组,排序方式为:次数为 n 的项的系数包含在 c[n] 中。如果 c 是多维的,则其余索引枚举多个多项式。在二维情况下,可以将系数视为存储在 c 的列中。
- tensor布尔值,可选
如果为 True,则系数数组的形状将在右侧扩展为 1,x 的每个维度一个。对于此操作,标量的维度为 0。结果是,c 中每一列的系数都针对 x 的每个元素进行计算。如果为 False,则在计算时将 x 广播到 c 的各列。当 c 是多维的时,此关键字很有用。默认值为 True。
- 返回:
- valuesndarray,类代数对象
返回值形状如上所述。
备注
该计算使用克伦肖递归,也称为综合除法。
示例
>>> 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. ]])