numpy.vander#
- numpy.vander(x, N=None, увеличивая=False)[источник]#
Сгенерировать матрицу Вандермонда.
Столбцы выходной матрицы являются степенями входного вектора. Порядок степеней определяется увеличивая логический аргумент. В частности, когда увеличивая равно False, i-й выходной столбец — это входной вектор, возведённый поэлементно в степень
N - i - 1. Такая матрица с геометрической прогрессией в каждой строке названа в честь Александра-Теофиля Вандермонда.- Параметры:
- xarray_like
1-D входной массив.
- Nint, необязательный
Количество столбцов в выводе. Если N не указан, возвращается квадратный массив (
N = len(x)).- увеличиваяbool, необязательно
Порядок степеней столбцов. Если True, степени увеличиваются слева направо, если False (по умолчанию) они обратны.
- Возвращает:
- выходndarray
Матрица Вандермонда. Если увеличивая равно False, первый столбец
x^(N-1), второйx^(N-2)и так далее. Если увеличивая равно True, столбцыx^0, x^1, ..., x^(N-1).
Смотрите также
Примеры
>>> import numpy as np >>> x = np.array([1, 2, 3, 5]) >>> N = 3 >>> np.vander(x, N) array([[ 1, 1, 1], [ 4, 2, 1], [ 9, 3, 1], [25, 5, 1]])
>>> np.column_stack([x**(N-1-i) for i in range(N)]) array([[ 1, 1, 1], [ 4, 2, 1], [ 9, 3, 1], [25, 5, 1]])
>>> x = np.array([1, 2, 3, 5]) >>> np.vander(x) array([[ 1, 1, 1, 1], [ 8, 4, 2, 1], [ 27, 9, 3, 1], [125, 25, 5, 1]]) >>> np.vander(x, increasing=True) array([[ 1, 1, 1, 1], [ 1, 2, 4, 8], [ 1, 3, 9, 27], [ 1, 5, 25, 125]])
Определитель квадратной матрицы Вандермонда равен произведению разностей между значениями входного вектора:
>>> np.linalg.det(np.vander(x)) 48.000000000000043 # may vary >>> (5-3)*(5-2)*(5-1)*(3-2)*(3-1)*(2-1) 48