numpy.polynomial.polynomial.polyvander#

polynomial.polynomial.polyvander(x, deg)[источник]#

Матрица Вандермонда заданной степени.

Возвращает матрицу Вандермонда степени deg и точки выборки x. Матрица Вандермонда определяется как

\[V[..., i] = x^i,\]

где 0 <= i <= deg. Ведущие индексы V индексировать элементы x и последний индекс — это степень x.

Если c является одномерным массивом коэффициентов длиной n + 1 и V является матрицей V = polyvander(x, n), затем np.dot(V, c) и polyval(x, c) одинаковы с точностью до округления. Эта эквивалентность полезна как для подгонки методом наименьших квадратов, так и для вычисления большого количества полиномов одинаковой степени и точек выборки.

Параметры:
xarray_like

Массив точек. Тип данных преобразуется в float64 или complex128 в зависимости от того, являются ли какие-либо элементы комплексными. Если x если это скаляр, он преобразуется в 1-D массив.

degint

Степень результирующей матрицы.

Возвращает:
vanderndarray.

Матрица Вандермонда. Форма возвращаемой матрицы — x.shape + (deg + 1,), где последний индекс — это степень x. Тип данных будет таким же, как преобразованный x.

Смотрите также

polyvander2d, polyvander3d

Примеры

Матрица Вандермонда степени deg = 5 и точки выборки x = [-1, 2, 3] содержит поэлементные степени x от 0 до 5 в качестве столбцов.

>>> from numpy.polynomial import polynomial as P
>>> x, deg = [-1, 2, 3], 5
>>> P.polyvander(x=x, deg=deg)
array([[  1.,  -1.,   1.,  -1.,   1.,  -1.],
       [  1.,   2.,   4.,   8.,  16.,  32.],
       [  1.,   3.,   9.,  27.,  81., 243.]])