Создание массива NumPy: функция vander ()
функция numpy.vander ()
Функция vander () используется для генерации матрицы Вандермонда.
Столбцы выходной матрицы являются степенями входного вектора. Порядок степеней определяется возрастающим логическим аргументом. В частности, когда увеличение равно False, i-й выходной столбец является входным вектором, повышенным поэлементно до степени N - i - 1. Такая матрица с геометрической прогрессией в каждой строке названа в честь Александра-Теофила Вандермонда.
Синтаксис:
numpy.vander (x, N = Нет, увеличение = Ложь)
Версия: 1.15.0
название | Discription | Требуется / Необязательно |
---|---|---|
Икс | 1-D входной массив. | необходимые |
N | Количество столбцов в выводе. Если N не указано, возвращается квадратный массив (N = len (x)). | необязательный |
повышение | Порядок полномочий колонн. Если True, полномочия увеличиваются слева направо, если False (по умолчанию), они меняются местами. | необязательный |
Возвращаемое значение:
out: ndarray - матрица Вандермонда. Если увеличение равно False, первый столбец будет x ^ (N-1), второй x ^ (N-2) и так далее. Если для увеличения установлено значение True, столбцы имеют значения x ^ 0, x ^ 1, ..., x ^ (N-1).
Пример 1: функция NumPy.vander ()
>>> import numpy as np
>>> a = np.array ([1,2,4,6])
>>> Y=4
>>> np.vander(a, Y)
array([[ 1, 1, 1, 1],
[ 8, 4, 2, 1],
[ 64, 16, 4, 1],
[216, 36, 6, 1]])
>>> np.column_stack([a**(Y-1-i) for i in range(Y)])
array([[ 1, 1, 1, 1],
[ 8, 4, 2, 1],
[ 64, 16, 4, 1],
[216, 36, 6, 1]])
Иллюстрированная презентация:
Пример 2: функция NumPy.vander ()
>>> import numpy as np
>>> a = np.array([1,2,4,5])
>>> np.vander(a)
array([[ 1, 1, 1, 1],
[ 8, 4, 2, 1],
[ 64, 16, 4, 1],in
[125, 25, 5, 1]])
>>> np.vander(a, increasing=True)
array([[ 1, 1, 1, 1],
[ 1, 2, 4, 8],
[ 1, 4, 16, 64],
[ 1, 5, 25, 125]])
Иллюстрированная презентация:
Определитель квадратной матрицы Вандермонда представляет собой произведение разностей между значениями входного вектора:
>>> import numpy as np
>>> a = np.array([1,2,4,5])
>>> np.linalg.det(np.vander(a))
72.000000000000071
>>> (5-4)*(5-2)*(5-1)*(4-2)*(4-1)*(2-1)
72
Python - NumPy Code Editor:
Предыдущая: триу ()
Далее: Матрица класса mat ()
Новый контент: Composer: менеджер зависимостей для PHP , R программирования