numpy.polynomial.hermite.hermgrid3d#
- polynomial.hermite.hermgrid3d(x, y, z, c)[source]#
在 x、y 和 z 的笛卡尔积上计算三维埃尔米特级数。
此函数返回以下值:
\[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 在第三维。参数 x、y 和 z 仅在它们是元组或列表时才转换为数组,否则它们被视为标量。无论哪种情况,x、y 和 z 或它们的元素都必须支持与自身以及与 c 的元素进行乘法和加法运算。
如果 c 的维度少于三维,则会在其形状后隐式添加 1 以使其变为三维。结果的形状将是 c.shape[3:] + x.shape + y.shape + z.shape。
- 参数:
- x, y, z类数组对象,兼容对象
在 x、y 和 z 的笛卡尔积中的点上计算三维级数。如果 x、y 或 z 是列表或元组,则首先将其转换为 ndarray,否则保持不变,如果它不是 ndarray,则将其视为标量。
- c类数组对象
系数数组,其顺序使得 i,j 次项的系数包含在
c[i,j]
中。如果 c 的维度大于二,则其余索引表示多组系数。
- 返回:
- valuesndarray,兼容对象
在 x 和 y 的笛卡尔积中的点上,二维多项式的值。
另请参阅
示例
>>> 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.]]])