numpy.polynomial.hermite.hermvander2d#
- polynomial.hermite.hermvander2d(x, y, deg)[источник]#
Псевдо-матрица Вандермонда заданных степеней.
Возвращает псевдо-матрицу Вандермонда степеней deg и точки выборки
(x, y). Псевдо-матрица Вандермонда определяется как\[V[..., (deg[1] + 1)*i + j] = H_i(x) * H_j(y),\]где
0 <= i <= deg[0]и0 <= j <= deg[1]. Ведущие индексы V индексировать точки(x, y)и последний индекс кодирует степени полиномов Эрмита.Если
V = hermvander2d(x, y, [xdeg, ydeg]), тогда столбцы V соответствуют элементам 2-D массива коэффициентов c формы (xdeg + 1, ydeg + 1) в порядке\[c_{00}, c_{01}, c_{02} ... , c_{10}, c_{11}, c_{12} ...\]и
np.dot(V, c.flat)иhermval2d(x, y, c)будут одинаковыми с точностью до округления. Эта эквивалентность полезна как для метода наименьших квадратов, так и для вычисления большого количества 2-D рядов Эрмита одинаковых степеней и точек выборки.- Параметры:
- x, yarray_like
Массивы координат точек, все одинаковой формы. Типы данных будут преобразованы либо в float64, либо в complex128 в зависимости от того, являются ли какие-либо элементы комплексными. Скаляры преобразуются в одномерные массивы.
- degсписок целых чисел
Список максимальных степеней вида [x_deg, y_deg].
- Возвращает:
- vander2dndarray
Форма возвращаемой матрицы равна
x.shape + (order,), где \(order = (deg[0]+1)*(deg[1]+1)\). Тип данных будет таким же, как у преобразованного x и y.
Смотрите также
Примеры
>>> import numpy as np >>> from numpy.polynomial.hermite import hermvander2d >>> x = np.array([-1, 0, 1]) >>> y = np.array([-1, 0, 1]) >>> hermvander2d(x, y, [2, 2]) array([[ 1., -2., 2., -2., 4., -4., 2., -4., 4.], [ 1., 0., -2., 0., 0., -0., -2., -0., 4.], [ 1., 2., 2., 2., 4., 4., 2., 4., 4.]])