Spec-Zone.ru › NumPy 1.10

numpy.ma.vander

numpy.ma.vander(x, n=None) [source]

Генерация матрицы Вандермонда.

Столбцы выходной матрицы являются степенями входного вектора. Порядок степеней определяется increasing логическим аргументом. Конкретно, когда increasing имеет значение False, i-й столбец вывода представляет собой входной вектор, возведённый в степень N - i - 1. Такая матрица с геометрической прогрессией в каждой строке названа в честь Александра-Теофиля Вандермонда.

Параметры:

x : array_like

Вектор-входное массива.

N : int, необязательно

Количество столбцов в выходной матрице. Если N не указано, возвращается квадратная матрица (N = len(x)).

increasing : bool, необязательно

Порядок степеней столбцов. Если True, степени возрастают слева направо, если False (по умолчанию) они обращены.

Введено в версии 1.9.0.

Возвращаемое значение:

out : ndarray

Матрица Вандермонда. Если increasing имеет значение False, первый столбец это x^(N-1), второй x^(N-2) и так далее. Если increasing имеет значение True, столбцы x^0, x^1, ..., x^(N-1).

См. также

polynomial.polynomial.polyvander

Примечания

Маскированные значения во входном массиве приводят к нулевым строкам.

Примеры

>>> 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
>>> (5-3)*(5-2)*(5-1)*(3-2)*(3-1)*(2-1)
48

© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.ma.vander.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API