numpy.polynomial.laguerre.laggrid3d#

polynomial.laguerre.laggrid3d(x, y, z, c)[source]#

在 x、y 和 z 的笛卡尔积上评估 3-D 拉盖尔级数。

此函数返回以下值:

\[p(a,b,c) = \sum_{i,j,k} c_{i,j,k} * L_i(a) * L_j(b) * L_k(c)\]

其中点 (a, b, c) 由从 x 中取 a、从 y 中取 b 和从 z 中取 c 形成的所有三元组组成。生成的点形成一个网格,其中 x 位于第一维,y 位于第二维,z 位于第三维。

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

如果 c 的维数少于三个,则隐式地将一附加到其形状以使其成为 3-D。结果的形状将为 c.shape[3:] + x.shape + y.shape + z.shape。

参数::
x, y, zarray_like, 兼容对象

三维级数在 xyz 的笛卡尔积中的点处进行评估。如果 xyz 是列表或元组,则首先将其转换为 ndarray,否则保持不变,如果它不是 ndarray,则将其视为标量。

carray_like

系数数组,按顺序排列,以便度数为 i、j 的项的系数包含在 c[i,j] 中。如果 c 的维数大于两个,则剩余索引枚举多个系数集。

返回值::
valuesndarray, 兼容对象

二维多项式在 xy 的笛卡尔积中的点的值。

备注

1.7.0 版新增。

示例

>>> from numpy.polynomial.laguerre import laggrid3d
>>> c = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
>>> laggrid3d([0, 1], [0, 1], [2, 4], c)
array([[[ -4., -44.],
        [ -2., -18.]],
       [[ -2., -14.],
        [ -1.,  -5.]]])