scipy.linalg.

companion#

scipy.linalg.companion(a)[source]#

创建伴随矩阵。

创建与多项式相关的伴随矩阵[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) a.shape[-1] < 2;b) a[..., 0] == 0

备注

0.8.0 版本新增。

参考文献

[1]

R. A. Horn & C. R. Johnson, Matrix Analysis. 英国剑桥:剑桥大学出版社,1999,第146-7页。

示例

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