numpy.polynomial.hermite.hermgrid3d#

polynomial.hermite.hermgrid3d(x, y, z, c)[source]#

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

此函数返回以下值:

\[p(a,b,c) = \sum_{i,j,k} c_{i,j,k} * H_i(a) * H_j(b) * H_k(c)\]

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

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

如果 c 的维度小于三个,则会隐式地将 1 附加到其形状,使其成为 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.hermite import hermgrid3d
>>> x = [1, 2]
>>> y = [4, 5]
>>> z = [6, 7]
>>> c = [[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]
>>> hermgrid3d(x, y, z, c)
array([[[ 40077.,  54117.],
        [ 49293.,  66561.]],
       [[ 72375.,  97719.],
        [ 88975., 120131.]]])