numpy.polynomial.hermite.hermvander#

polynomial.hermite.hermvander(x, deg)[source]#

给定阶数的伪范德蒙德矩阵。

返回阶数为 deg 且样本点为 x 的伪范德蒙德矩阵。

\[V[..., i] = H_i(x),\]

其中 0 <= i <= degV 的前导索引索引 x 的元素,最后一个索引是厄米特多项式的阶数。

如果 c 是长度为 n + 1 的一维系数数组,V 是数组 V = hermvander(x, n),那么 np.dot(V, c)hermval(x, c) 在舍入误差范围内是相同的。这种等价性在最小二乘拟合和评估大量相同阶数和样本点的厄米特级数时都很有用。

参数::
xarray_like

点数组。数据类型会根据元素是否为复数转换为 float64 或 complex128。如果 x 是标量,则将其转换为一维数组。

degint

所得矩阵的阶数。

返回::
vanderndarray

伪范德蒙德矩阵。返回的矩阵的形状为 x.shape + (deg + 1,),其中最后一个索引是对应厄米特多项式的阶数。数据类型将与转换后的 x 相同。

示例

>>> import numpy as np
>>> from numpy.polynomial.hermite import hermvander
>>> x = np.array([-1, 0, 1])
>>> hermvander(x, 3)
array([[ 1., -2.,  2.,  4.],
       [ 1.,  0., -2., -0.],
       [ 1.,  2.,  2., -4.]])