scipy.linalg.

компаньон#

scipy.linalg.компаньон(a)[источник]#

Создать сопровождающую матрицу.

Создать сопровождающую матрицу [1] связанный с полиномом, коэффициенты которого заданы в a.

Параметры:
a(…, N) array_like

Одномерный массив коэффициентов полинома. Длина a должно быть не менее двух, и a[0] не должен быть нулевым. M-мерные массивы обрабатываются как пакет: каждый срез по последней оси представляет собой одномерный массив коэффициентов полинома.

Возвращает:
c(..., N-1, N-1) ndarray

Для одномерного ввода, первая строка c является -a[1:]/a[0], и первая поддиагональ состоит из единиц. Тип данных массива совпадает с типом данных 1.0*a[0]. Для пакетного ввода каждый срез формы (N-1, N-1) вдоль последних двух измерений выхода соответствует срезу формы (N,) вдоль последнего измерения входных данных.

Вызывает:
ValueError

Если верно любое из следующего: а) a.shape[-1] < 2; б) a[..., 0] == 0.

Примечания

Добавлено в версии 0.8.0.

Ссылки

[1]

R. A. Horn & C. R. Johnson, Анализ матриц. Кембридж, Великобритания: Cambridge University Press, 1999, стр. 146-7.

Примеры

>>> from scipy.linalg import companion
>>> companion([1, -10, 31, -30])
array([[ 10., -31.,  30.],
       [  1.,   0.,   0.],
       [  0.,   1.,   0.]])