numpy.ma.vander
- ma.vander(x, n=None)[source]
-
Генерирует матрицу Вандермонда.
Столбцы выходной матрицы представляют собой степени входного вектора. Порядок степеней определяется параметром
increasingboolean. В частности, когдаincreasingимеет значение False,i-й столбец выходной матрицы представляет собой входной вектор, возведённый в степеньN - i - 1. Такая матрица с геометрической прогрессией в каждой строке названа в честь Александра-Теoфила Вандермонда.- Параметры:
-
- xarray_like
-
Вектор-вход.
- Nint, optional
-
Количество столбцов в выходной матрице. Если
Nне задано, возвращается квадратная матрица (N = len(x)). - increasingbool, optional
-
Порядок степеней столбцов. Если True, степени увеличиваются слева направо, если False (по умолчанию) — наоборот.
Добавлена в версии 1.9.0.
- Возвращает:
-
- outndarray
-
Матрица Вандермонда. Если
increasingравно False, первый столбец — этоx^(N-1), второй —x^(N-2)и так далее. Еслиincreasingравно True, столбцы расположены вx^0, x^1, ..., x^(N-1)порядке.
См. также
Примечания
Маскированные значения во входном массиве приводят к нулевым строкам.
Примеры
>>> 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
© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.ma.vander.html